[Bf-blender-cvs] [19da32a] master: Fix T38128: snapping to node border uses node centers.

Lukas Tönne noreply at git.blender.org
Tue Jan 21 13:21:54 CET 2014


Commit: 19da32abf33b5d8a579cf7c0c171a7fe3d350aa0
Author: Lukas Tönne
Date:   Tue Jan 21 13:13:41 2014 +0100
https://developer.blender.org/rB19da32abf33b5d8a579cf7c0c171a7fe3d350aa0

Fix T38128: snapping to node border uses node centers.

This was caused by recent change to transform locations being changed
to the upper-left corner of nodes (rBa857a6f).

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

M	source/blender/editors/transform/transform.h
M	source/blender/editors/transform/transform_conversions.c
M	source/blender/editors/transform/transform_snap.c

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

diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h
index 5df6952..5bd1e27 100644
--- a/source/blender/editors/transform/transform.h
+++ b/source/blender/editors/transform/transform.h
@@ -433,6 +433,11 @@ typedef struct TransInfo {
 #define	MOD_SNAP_INVERT			0x08
 #define	MOD_CONSTRAINT_PLANE	0x10
 
+/* use node center for transform instead of upper-left corner.
+ * disabled since it makes absolute snapping not work so nicely
+ */
+// #define USE_NODE_CENTER
+
 
 /* ******************************************************************************** */
 
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index 1c7ecbc..ce5c76b 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -124,9 +124,6 @@
 #include "transform.h"
 #include "bmesh.h"
 
-/* disabled since it makes absolute snapping not work so nicely */
-// #define USE_NODE_CENTER
-
 /**
  * Transforming around ourselves is no use, fallback to individual origins,
  * useful for curve/armatures.
diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c
index 5b90cc9..f0762e1 100644
--- a/source/blender/editors/transform/transform_snap.c
+++ b/source/blender/editors/transform/transform_snap.c
@@ -1051,6 +1051,7 @@ static void TargetSnapOffset(TransInfo *t, TransData *td)
 		float width  = BLI_rctf_size_x(&node->totr);
 		float height = BLI_rctf_size_y(&node->totr);
 		
+#ifdef USE_NODE_CENTER
 		if (border & NODE_LEFT)
 			t->tsnap.snapTarget[0] -= 0.5f * width;
 		if (border & NODE_RIGHT)
@@ -1059,6 +1060,16 @@ static void TargetSnapOffset(TransInfo *t, TransData *td)
 			t->tsnap.snapTarget[1] -= 0.5f * height;
 		if (border & NODE_TOP)
 			t->tsnap.snapTarget[1] += 0.5f * height;
+#else
+		if (border & NODE_LEFT)
+			t->tsnap.snapTarget[0] -= 0.0f;
+		if (border & NODE_RIGHT)
+			t->tsnap.snapTarget[0] += width;
+		if (border & NODE_BOTTOM)
+			t->tsnap.snapTarget[1] -= height;
+		if (border & NODE_TOP)
+			t->tsnap.snapTarget[1] += 0.0f;
+#endif
 	}
 }




More information about the Bf-blender-cvs mailing list