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

Reply via email to