[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