diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2011-12-06 00:07:13 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2011-12-06 00:07:13 +0400 |
commit | ec9ac9faba1b9f82fa16e710e881b38d1ff7ea76 (patch) | |
tree | f59b5ec7a5ba07d5dec0d549a93341563e4a4205 /source/blender/editors/space_clip/tracking_ops.c | |
parent | cbe9713b5082011c3c366dcf9a03631b8b3ae7f1 (diff) |
Object tracking: fix setting axis in cases when object is scaled
Diffstat (limited to 'source/blender/editors/space_clip/tracking_ops.c')
-rw-r--r-- | source/blender/editors/space_clip/tracking_ops.c | 8 |
1 files changed, 7 insertions, 1 deletions
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); |