Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2011-12-06 00:07:13 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2011-12-06 00:07:13 +0400
commitec9ac9faba1b9f82fa16e710e881b38d1ff7ea76 (patch)
treef59b5ec7a5ba07d5dec0d549a93341563e4a4205 /source/blender/editors/space_clip
parentcbe9713b5082011c3c366dcf9a03631b8b3ae7f1 (diff)
Object tracking: fix setting axis in cases when object is scaled
Diffstat (limited to 'source/blender/editors/space_clip')
-rw-r--r--source/blender/editors/space_clip/tracking_ops.c8
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);