From ec9ac9faba1b9f82fa16e710e881b38d1ff7ea76 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 5 Dec 2011 20:07:13 +0000 Subject: [PATCH] Object tracking: fix setting axis in cases when object is scaled --- source/blender/editors/space_clip/tracking_ops.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/blender/editors/space_clip/tracking_ops.c b/source/blender/editors/space_clip/tracking_ops.c index 65505fea89e..59631e3a181 100644 --- a/source/blender/editors/space_clip/tracking_ops.c +++ b/source/blender/editors/space_clip/tracking_ops.c @@ -2094,6 +2094,12 @@ static void set_axis(Scene *scene, Object *ob, MovieTrackingObject *tracking_ob mul_m4_m4m4(mat, obmat, mat); } else { + float lmat[4][4], ilmat[4][4], m[4][4]; + + unit_m4(lmat); + copy_v3_v3(lmat[3], obmat[3]); + invert_m4_m4(ilmat, lmat); + if(!flip) { float rmat[3][3], tmat[4][4]; @@ -2104,7 +2110,7 @@ static void set_axis(Scene *scene, Object *ob, MovieTrackingObject *tracking_ob mul_m4_m4m4(mat, mat, tmat); } - mul_m4_m4m4(mat, mat, obmat); + mul_serie_m4(mat, lmat, mat, ilmat, obmat, NULL, NULL, NULL, NULL); } object_apply_mat4(ob, mat, 0, 0);