[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12140] trunk/blender/source/blender: store snapping in the scene, (theeth's suggestion)

Campbell Barton cbarton at metavr.com
Tue Sep 25 06:11:57 CEST 2007


Revision: 12140
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12140
Author:   campbellbarton
Date:     2007-09-25 06:11:57 +0200 (Tue, 25 Sep 2007)

Log Message:
-----------
store snapping in the scene, (theeth's suggestion)

Modified Paths:
--------------
    trunk/blender/source/blender/makesdna/DNA_scene_types.h
    trunk/blender/source/blender/makesdna/DNA_view3d_types.h
    trunk/blender/source/blender/src/drawmesh.c
    trunk/blender/source/blender/src/header_view3d.c
    trunk/blender/source/blender/src/space.c
    trunk/blender/source/blender/src/transform_snap.c

Modified: trunk/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_scene_types.h	2007-09-25 03:31:12 UTC (rev 12139)
+++ trunk/blender/source/blender/makesdna/DNA_scene_types.h	2007-09-25 04:11:57 UTC (rev 12140)
@@ -438,8 +438,8 @@
 	
 	ListBase markers;
 	
-	short jumpframe;
-	short pad1, pad2, pad3;
+	short jumpframe, pad1;
+	short snap_flag, snap_target;
 	
 	/* none of the dependancy graph  vars is mean to be saved */
 	struct  DagForest *theDag;
@@ -568,8 +568,12 @@
 
 /* base->flag is in DNA_object_types.h */
 
-/* sce->flag */
-#define SCE_ADDSCENAME		1
+/* scene->snap_flag */
+#define SCE_SNAP				1
+/* scene->snap_target */
+#define SCE_SNAP_TARGET_CLOSEST	0
+#define SCE_SNAP_TARGET_CENTER	1
+#define SCE_SNAP_TARGET_MEDIAN	2
 
 /* sce->selectmode */
 #define SCE_SELECT_VERTEX	1

Modified: trunk/blender/source/blender/makesdna/DNA_view3d_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_view3d_types.h	2007-09-25 03:31:12 UTC (rev 12139)
+++ trunk/blender/source/blender/makesdna/DNA_view3d_types.h	2007-09-25 04:11:57 UTC (rev 12140)
@@ -137,7 +137,7 @@
 	
 	short gridsubdiv;	/* Number of subdivisions in the grid between each highlighted grid line */
 	
-	short snap_target;
+	short pad3;
 	
 	short pad2;
 	
@@ -168,15 +168,9 @@
 /* View3d->flag2 (short) */
 #define V3D_OPP_DIRECTION_NAME	1
 #define V3D_FLYMODE				2
-#define V3D_TRANSFORM_SNAP		4
+#define V3D_DEPRECATED			4 /* V3D_TRANSFORM_SNAP, moved to a scene setting */
 #define V3D_SOLID_TEX			8
 
-/* View3d->snap_target */
-#define V3D_SNAP_TARGET_CLOSEST	0
-#define V3D_SNAP_TARGET_CENTER	1
-#define V3D_SNAP_TARGET_MEDIAN	2
-
-
 /* View3D->around */
 #define V3D_CENTER		 0
 #define V3D_CENTROID	 3

Modified: trunk/blender/source/blender/src/drawmesh.c
===================================================================
--- trunk/blender/source/blender/src/drawmesh.c	2007-09-25 03:31:12 UTC (rev 12139)
+++ trunk/blender/source/blender/src/drawmesh.c	2007-09-25 04:11:57 UTC (rev 12140)
@@ -1017,7 +1017,7 @@
 static int draw_em_tf_mapped__set_draw(void *userData, int index)
 {
 	EditMesh *em = userData;
-	EditFace *efa = EM_get_face_for_index(index), *efa_act = userData;
+	EditFace *efa = EM_get_face_for_index(index);
 	MTFace *tface;
 	MCol *mcol;
 	int matnr;

Modified: trunk/blender/source/blender/src/header_view3d.c
===================================================================
--- trunk/blender/source/blender/src/header_view3d.c	2007-09-25 03:31:12 UTC (rev 12139)
+++ trunk/blender/source/blender/src/header_view3d.c	2007-09-25 04:11:57 UTC (rev 12140)
@@ -1743,19 +1743,19 @@
 		Transform();
 		break;
 	case 15:
-		G.vd->flag2 &= ~V3D_TRANSFORM_SNAP;
+		G.scene->snap_flag &= ~SCE_SNAP;
 		break;
 	case 16:
-		G.vd->flag2 |= V3D_TRANSFORM_SNAP;
+		G.scene->snap_flag |= SCE_SNAP;
 		break;
 	case 17:
-		G.vd->snap_target = V3D_SNAP_TARGET_CLOSEST;
+		G.scene->snap_target = SCE_SNAP_TARGET_CLOSEST;
 		break;
 	case 18:
-		G.vd->snap_target = V3D_SNAP_TARGET_CENTER;
+		G.scene->snap_target = SCE_SNAP_TARGET_CENTER;
 		break;
 	case 19:
-		G.vd->snap_target = V3D_SNAP_TARGET_MEDIAN;
+		G.scene->snap_target = SCE_SNAP_TARGET_MEDIAN;
 		break;
 	}
 	allqueue(REDRAWVIEW3D, 0);
@@ -1812,7 +1812,7 @@
 	{
 		uiDefBut(block, SEPR, 0, "",                    0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
 	
-		if (G.vd->flag2 & V3D_TRANSFORM_SNAP)
+		if (G.scene->snap_flag & SCE_SNAP)
 		{
 			uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Grid",			0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 15, "");
 			uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Snap",			0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 16, "");
@@ -1825,19 +1825,19 @@
 			
 		uiDefBut(block, SEPR, 0, "",                    0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
 
-		switch(G.vd->snap_target)
+		switch(G.scene->snap_target)
 		{
-			case V3D_SNAP_TARGET_CLOSEST:
+			case SCE_SNAP_TARGET_CLOSEST:
 				uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Snap Closest",			0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 17, "");
 				uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Center",			0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 18, "");
 				uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Median",			0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 19, "");
 				break;
-			case V3D_SNAP_TARGET_CENTER:
+			case SCE_SNAP_TARGET_CENTER:
 				uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Closest",			0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 17, "");
 				uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Snap Center",			0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 18, "");
 				uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Median",			0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 19, "");
 				break;
-			case V3D_SNAP_TARGET_MEDIAN:
+			case SCE_SNAP_TARGET_MEDIAN:
 				uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Closest",			0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 17, "");
 				uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Snap Center",			0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 18, "");
 				uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Snap Median",			0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 19, "");
@@ -5106,18 +5106,15 @@
 		if(G.obedit && (G.obedit->type == OB_MESH)) { // Only Mesh for now
 			uiBlockBeginAlign(block);
 
-			if (G.vd->flag2 & V3D_TRANSFORM_SNAP)
-				{
-				uiDefIconButBitS(block, TOG, V3D_TRANSFORM_SNAP, B_REDR, ICON_SNAP_GEO,xco,0,XIC,YIC, &G.vd->flag2, 0, 0, 0, 0, "Use Snap or Grid (Shift Tab)");	
+			if (G.scene->snap_flag & SCE_SNAP) {
+				uiDefIconButBitS(block, TOG, SCE_SNAP, B_REDR, ICON_SNAP_GEO,xco,0,XIC,YIC, &G.scene->snap_flag, 0, 0, 0, 0, "Use Snap or Grid (Shift Tab)");	
 				xco+= XIC;
-				uiDefButS(block, MENU, B_NOP, "Mode%t|Closest%x0|Center%x1|Median%x2",xco,0,70,YIC, &G.vd->snap_target, 0, 0, 0, 0, "Snap Target Mode");
+				uiDefButS(block, MENU, B_NOP, "Mode%t|Closest%x0|Center%x1|Median%x2",xco,0,70,YIC, &G.scene->snap_target, 0, 0, 0, 0, "Snap Target Mode");
 				xco+= 70;
-				}
-			else
-				{
-				uiDefIconButBitS(block, TOG, V3D_TRANSFORM_SNAP, B_REDR, ICON_SNAP_GEAR,xco,0,XIC,YIC, &G.vd->flag2, 0, 0, 0, 0, "Snap while Ctrl is held during transform (Shift Tab)");	
+			} else {
+				uiDefIconButBitS(block, TOG, SCE_SNAP, B_REDR, ICON_SNAP_GEAR,xco,0,XIC,YIC, &G.scene->snap_flag, 0, 0, 0, 0, "Snap while Ctrl is held during transform (Shift Tab)");	
 				xco+= XIC;
-				}
+			}
 
 			uiBlockEndAlign(block);
 			xco+= 10;

Modified: trunk/blender/source/blender/src/space.c
===================================================================
--- trunk/blender/source/blender/src/space.c	2007-09-25 03:31:12 UTC (rev 12139)
+++ trunk/blender/source/blender/src/space.c	2007-09-25 04:11:57 UTC (rev 12140)
@@ -1524,7 +1524,7 @@
 					/* Snap toggle (only edit mesh right now) */
 					if (G.obedit && G.obedit->type==OB_MESH)
 					{
-						G.vd->flag2 ^= V3D_TRANSFORM_SNAP;
+						G.scene->snap_flag ^= SCE_SNAP;
 						allqueue(REDRAWHEADERS, 0);
 					}					
 				}

Modified: trunk/blender/source/blender/src/transform_snap.c
===================================================================
--- trunk/blender/source/blender/src/transform_snap.c	2007-09-25 03:31:12 UTC (rev 12139)
+++ trunk/blender/source/blender/src/transform_snap.c	2007-09-25 04:11:57 UTC (rev 12140)
@@ -174,7 +174,7 @@
 
 		if (t->tsnap.applySnap != NULL && // A snapping function actually exist
 			(G.obedit != NULL && G.obedit->type==OB_MESH) && // Temporary limited to edit mode meshes
-			(G.vd->flag2 & V3D_TRANSFORM_SNAP) && // Only if the snap flag is on
+			(G.scene->snap_flag & SCE_SNAP) && // Only if the snap flag is on
 			(t->flag & T_PROP_EDIT) == 0) // No PET, obviously
 		{
 			t->tsnap.status |= SNAP_ON;
@@ -197,17 +197,17 @@
 {
 	t->tsnap.calcSnap = CalcSnapGeometry;
 
-	switch(G.vd->snap_target)
+	switch(G.scene->snap_target)
 	{
-		case V3D_SNAP_TARGET_CLOSEST:
+		case SCE_SNAP_TARGET_CLOSEST:
 			t->tsnap.modeTarget = SNAP_CLOSEST;
 			t->tsnap.targetSnap = TargetSnapClosest;
 			break;
-		case V3D_SNAP_TARGET_CENTER:
+		case SCE_SNAP_TARGET_CENTER:
 			t->tsnap.modeTarget = SNAP_CENTER;
 			t->tsnap.targetSnap = TargetSnapCenter;
 			break;
-		case V3D_SNAP_TARGET_MEDIAN:
+		case SCE_SNAP_TARGET_MEDIAN:
 			t->tsnap.modeTarget = SNAP_MEDIAN;
 			t->tsnap.targetSnap = TargetSnapMedian;
 			break;
@@ -224,7 +224,7 @@
 		t->tsnap.distance = RotationBetween;
 		
 		// Can't do TARGET_CENTER with rotation, use TARGET_MEDIAN instead
-		if (G.vd->snap_target == V3D_SNAP_TARGET_CENTER) {
+		if (G.scene->snap_target == SCE_SNAP_TARGET_CENTER) {
 			t->tsnap.modeTarget = SNAP_MEDIAN;
 			t->tsnap.targetSnap = TargetSnapMedian;
 		}





More information about the Bf-blender-cvs mailing list