Commit: 27c5fb6fc4b2b9a3c0f43811e7d65ac4e132804b Author: Campbell Barton Date: Wed Jan 15 19:03:05 2020 +1100 Branches: blender-v2.82-release https://developer.blender.org/rB27c5fb6fc4b2b9a3c0f43811e7d65ac4e132804b
3D View: use compatible quaternions when placing the cursor The compatible option was used for euler rotation but not quaternions. =================================================================== M source/blender/blenkernel/intern/scene.c =================================================================== diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index e57a50a8a23..2fda6cfb43b 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -2213,7 +2213,16 @@ void BKE_scene_cursor_mat3_to_rot(View3DCursor *cursor, const float mat[3][3], b switch (cursor->rotation_mode) { case ROT_MODE_QUAT: { - mat3_normalized_to_quat(cursor->rotation_quaternion, mat); + float quat[4]; + mat3_normalized_to_quat(quat, mat); + if (use_compat) { + float quat_orig[4]; + copy_v4_v4(quat_orig, cursor->rotation_quaternion); + quat_to_compatible_quat(cursor->rotation_quaternion, quat, quat_orig); + } + else { + copy_v4_v4(cursor->rotation_quaternion, quat); + } break; } case ROT_MODE_AXISANGLE: { @@ -2239,7 +2248,14 @@ void BKE_scene_cursor_quat_to_rot(View3DCursor *cursor, const float quat[4], boo switch (cursor->rotation_mode) { case ROT_MODE_QUAT: { - copy_qt_qt(cursor->rotation_quaternion, quat); + if (use_compat) { + float quat_orig[4]; + copy_v4_v4(quat_orig, cursor->rotation_quaternion); + quat_to_compatible_quat(cursor->rotation_quaternion, quat, quat_orig); + } + else { + copy_qt_qt(cursor->rotation_quaternion, quat); + } break; } case ROT_MODE_AXISANGLE: { _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs