Commit: 4ffbc6175e70efed60caf241f883da9c9a1e4923
Author: Germano Cavalcante
Date:   Fri Oct 21 09:52:53 2022 -0300
Branches: blender-v3.3-release
https://developer.blender.org/rB4ffbc6175e70efed60caf241f883da9c9a1e4923

Fix T101964: Edge and face snapping no locking to axis

In rBed6c8d82b804 it was wrongly assumed that the constraint functions
always apply the transformations.

But that is not the case for when axes are aligned.

The `mul_m3_v3(t->con.pmtx, out)` fallback is still required.

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

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

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

diff --git a/source/blender/editors/transform/transform_constraints.c 
b/source/blender/editors/transform/transform_constraints.c
index d5274d3ae7d..9edd9e34f8a 100644
--- a/source/blender/editors/transform/transform_constraints.c
+++ b/source/blender/editors/transform/transform_constraints.c
@@ -404,9 +404,11 @@ static void applyAxisConstraintVec(const TransInfo *t,
       }
     }
 
+    /* Fallback for when axes are aligned. */
+    mul_m3_v3(t->con.pmtx, out);
+
     if (is_snap_to_point) {
-      /* With snap points, a projection is alright, no adjustments needed. */
-      mul_m3_v3(t->con.pmtx, out);
+      /* Pass. With snap points, a projection is alright, no adjustments 
needed. */
     }
     else {
       const int dims = getConstraintSpaceDimension(t);
@@ -422,14 +424,9 @@ static void applyAxisConstraintVec(const TransInfo *t,
             /* Disabled, as it has not proven to be really useful. (See 
T82386). */
             // constraint_snap_plane_to_face(t, plane, out);
           }
-          else {
+          else if (!isPlaneProjectionViewAligned(t, plane)) {
             /* View alignment correction. */
-            if (!isPlaneProjectionViewAligned(t, plane)) {
-              planeProjection(t, plane, in, out);
-            }
-            else {
-              mul_m3_v3(t->con.pmtx, out);
-            }
+            planeProjection(t, plane, in, out);
           }
         }
       }

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to