[Bf-blender-cvs] [f23f07c] master: Fix T38407: Bone roll calculation flips local axes at wrong rotation angle

Bastien Montagne noreply at git.blender.org
Fri Feb 28 10:50:11 CET 2014


Commit: f23f07ced020cc337a5fe77d02f7aaed5d584144
Author: Bastien Montagne
Date:   Fri Feb 28 10:47:28 2014 +0100
https://developer.blender.org/rBf23f07ced020cc337a5fe77d02f7aaed5d584144

Fix T38407: Bone roll calculation flips local axes at wrong rotation angle

Just remove that rotation special case for now, at least fixes the glitch along Z axis when rotating around Y axis in report.

Anyway, there is no reason for such special handling, we do not have real rotation in editbone...

===================================================================

M	source/blender/editors/transform/transform_generics.c

===================================================================

diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c
index af4beff..8e7e5c4 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -812,17 +812,12 @@ static void recalcData_objects(TransInfo *t)
 						}
 						else {
 							copy_v3_v3(up_axis, td->axismtx[2]);
-							
-							if (t->mode != TFM_ROTATION) {
-								sub_v3_v3v3(vec, ebo->tail, ebo->head);
-								normalize_v3(vec);
-								rotation_between_vecs_to_quat(qrot, td->axismtx[1], vec);
-								mul_qt_v3(qrot, up_axis);
-							}
-							else {
-								mul_m3_v3(t->mat, up_axis);
-							}
-							
+
+							sub_v3_v3v3(vec, ebo->tail, ebo->head);
+							normalize_v3(vec);
+							rotation_between_vecs_to_quat(qrot, td->axismtx[1], vec);
+							mul_qt_v3(qrot, up_axis);
+
 							/* roll has a tendency to flip in certain orientations - [#34283], [#33974] */
 							roll = ED_rollBoneToVector(ebo, up_axis, false);
 							ebo->roll = angle_compat_rad(roll, td->ival);




More information about the Bf-blender-cvs mailing list