diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-10-25 11:12:29 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-10-25 11:12:29 +0400 |
commit | 904f82b49fb8a5169deaab707fe01333c077119f (patch) | |
tree | 72cc53a2cae2ccb6ce1a1180a0bbe65eb6b20146 /source/blender/blenkernel | |
parent | 3320b6fdd6ac436ffa55567d0577791ffa5e736c (diff) |
bugfix [#24376] Fly mode disturbs the rotation or scale of the camera object
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_object.h | 4 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 8 |
2 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/blenkernel/BKE_object.h b/source/blender/blenkernel/BKE_object.h index 7451d43a578..b64011a7c9a 100644 --- a/source/blender/blenkernel/BKE_object.h +++ b/source/blender/blenkernel/BKE_object.h @@ -98,10 +98,10 @@ void disable_speed_curve(int val); float bsystem_time(struct Scene *scene, struct Object *ob, float cfra, float ofs); void object_scale_to_mat3(struct Object *ob, float mat[][3]); void object_rot_to_mat3(struct Object *ob, float mat[][3]); -void object_mat3_to_rot(struct Object *ob, float mat[][3], int use_compat); +void object_mat3_to_rot(struct Object *ob, float mat[][3], short use_compat); void object_to_mat3(struct Object *ob, float mat[][3]); void object_to_mat4(struct Object *ob, float mat[][4]); -void object_apply_mat4(struct Object *ob, float mat[][4]); +void object_apply_mat4(struct Object *ob, float mat[][4], short use_compat); void set_no_parent_ipo(int val); diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 96f90473814..9d93fac8ad0 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -1550,7 +1550,7 @@ void object_make_proxy(Object *ob, Object *target, Object *gob) if(gob) { ob->rotmode= target->rotmode; mul_m4_m4m4(ob->obmat, target->obmat, gob->obmat); - object_apply_mat4(ob, ob->obmat); + object_apply_mat4(ob, ob->obmat, FALSE); } else { copy_object_transform(ob, target); @@ -1678,7 +1678,7 @@ void object_rot_to_mat3(Object *ob, float mat[][3]) mul_m3_m3m3(mat, dmat, rmat); } -void object_mat3_to_rot(Object *ob, float mat[][3], int use_compat) +void object_mat3_to_rot(Object *ob, float mat[][3], short use_compat) { if (ob->rotmode == ROT_MODE_QUAT) mat3_to_quat(ob->quat, mat); @@ -1696,7 +1696,7 @@ void object_mat3_to_rot(Object *ob, float mat[][3], int use_compat) } /* see pchan_apply_mat4() for the equivalent 'pchan' function */ -void object_apply_mat4(Object *ob, float mat[][4]) +void object_apply_mat4(Object *ob, float mat[][4], short use_compat) { float mat3[3][3]; /* obmat -> 3x3 */ float mat3_n[3][3]; /* obmat -> normalized, 3x3 */ @@ -1718,7 +1718,7 @@ void object_apply_mat4(Object *ob, float mat[][4]) } /* rotation */ - object_mat3_to_rot(ob, mat3_n, 0); + object_mat3_to_rot(ob, mat3_n, use_compat); /* scale */ /* note: mat4_to_size(ob->size, mat) fails for negative scale */ |