[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12361] trunk/blender/source/blender: made drawing curve handles in the 3d view optional - this is much nicer for editing curves with Automatic handles so you dont select a handle by mistake and change its type .
Campbell Barton
cbarton at metavr.com
Tue Oct 23 20:56:43 CEST 2007
Revision: 12361
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12361
Author: campbellbarton
Date: 2007-10-23 20:56:43 +0200 (Tue, 23 Oct 2007)
Log Message:
-----------
made drawing curve handles in the 3d view optional - this is much nicer for editing curves with Automatic handles so you dont select a handle by mistake and change its type.
Modified Paths:
--------------
trunk/blender/source/blender/makesdna/DNA_scene_types.h
trunk/blender/source/blender/src/buttons_editing.c
trunk/blender/source/blender/src/drawobject.c
trunk/blender/source/blender/src/header_view3d.c
Modified: trunk/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_scene_types.h 2007-10-23 18:20:57 UTC (rev 12360)
+++ trunk/blender/source/blender/makesdna/DNA_scene_types.h 2007-10-23 18:56:43 UTC (rev 12361)
@@ -599,10 +599,12 @@
#define SCE_SNAP_TARGET_MEDIAN 2
/* sce->selectmode */
-#define SCE_SELECT_VERTEX 1
+#define SCE_SELECT_VERTEX 1 /* for mesh */
#define SCE_SELECT_EDGE 2
#define SCE_SELECT_FACE 4
+#define SCE_SELECT_CU_HANDLES_HIDE 8 /* for curve, when flagged hide handles */
+
/* sce->recalc (now in use by previewrender) */
#define SCE_PRV_CHANGED 1
Modified: trunk/blender/source/blender/src/buttons_editing.c
===================================================================
--- trunk/blender/source/blender/src/buttons_editing.c 2007-10-23 18:20:57 UTC (rev 12360)
+++ trunk/blender/source/blender/src/buttons_editing.c 2007-10-23 18:56:43 UTC (rev 12361)
@@ -2943,13 +2943,16 @@
uiDefBut(block, BUT, B_SPINNURB, "Spin", 400,160,150,20, 0, 0, 0, 0, 0, "Spin selected 360 degrees");
}
uiBlockBeginAlign(block);
- uiDefBut(block, BUT,B_HIDE, "Hide", 400,120,150,18, 0, 0, 0, 0, 0, "Hides selected faces");
- uiDefBut(block, BUT,B_REVEAL, "Reveal", 400,100,150,18, 0, 0, 0, 0, 0, "Reveals selected faces");
- uiDefBut(block, BUT,B_SELSWAP, "Select Swap", 400,80,150,18, 0, 0, 0, 0, 0, "Selects unselected faces, and deselects selected faces");
+ uiDefBut(block, BUT,B_HIDE, "Hide", 400,140,150,18, 0, 0, 0, 0, 0, "Hides selected faces");
+ uiDefBut(block, BUT,B_REVEAL, "Reveal", 400,120,150,18, 0, 0, 0, 0, 0, "Reveals selected faces");
+ uiDefBut(block, BUT,B_SELSWAP, "Select Swap", 400,100,150,18, 0, 0, 0, 0, 0, "Selects unselected faces, and deselects selected faces");
uiBlockEndAlign(block);
- uiDefButF(block, NUM, REDRAWVIEW3D, "NSize:", 400, 40, 150, 19, &G.scene->editbutsize, 0.001, 1.0, 10, 0, "Normal size for drawing");
-
+ uiBlockBeginAlign(block);
+ uiDefButF(block, NUM, REDRAWVIEW3D, "NSize:", 400, 60, 150, 19, &G.scene->editbutsize, 0.001, 1.0, 10, 0, "Normal size for drawing");
+ uiDefButBitI(block, TOGN, SCE_SELECT_CU_HANDLES_HIDE, REDRAWVIEW3D, "Draw Handles", 400, 40, 150, 19, &G.scene->selectmode, 0, 0, 0, 0, "Draw curve handles in 3D view");
+ uiBlockEndAlign(block);
+
if(G.obedit) {
uiBut *but;
uiBlockBeginAlign(block);
Modified: trunk/blender/source/blender/src/drawobject.c
===================================================================
--- trunk/blender/source/blender/src/drawobject.c 2007-10-23 18:20:57 UTC (rev 12360)
+++ trunk/blender/source/blender/src/drawobject.c 2007-10-23 18:56:43 UTC (rev 12361)
@@ -1357,12 +1357,17 @@
BezTriple *bezt = &nu->bezt[i];
if(bezt->hide==0) {
- view3d_project_short_clip(curarea, bezt->vec[0], s, pmat, vmat);
- func(userData, nu, NULL, bezt, 0, s[0], s[1]);
- view3d_project_short_clip(curarea, bezt->vec[1], s, pmat, vmat);
- func(userData, nu, NULL, bezt, 1, s[0], s[1]);
- view3d_project_short_clip(curarea, bezt->vec[2], s, pmat, vmat);
- func(userData, nu, NULL, bezt, 2, s[0], s[1]);
+ if (G.scene->selectmode & SCE_SELECT_CU_HANDLES_HIDE) {
+ view3d_project_short_clip(curarea, bezt->vec[1], s, pmat, vmat);
+ func(userData, nu, NULL, bezt, 1, s[0], s[1]);
+ } else {
+ view3d_project_short_clip(curarea, bezt->vec[0], s, pmat, vmat);
+ func(userData, nu, NULL, bezt, 0, s[0], s[1]);
+ view3d_project_short_clip(curarea, bezt->vec[1], s, pmat, vmat);
+ func(userData, nu, NULL, bezt, 1, s[0], s[1]);
+ view3d_project_short_clip(curarea, bezt->vec[2], s, pmat, vmat);
+ func(userData, nu, NULL, bezt, 2, s[0], s[1]);
+ }
}
}
}
@@ -2962,9 +2967,9 @@
float *fp;
unsigned int *col;
int a;
-
- if(nu->hide) return;
+ if(nu->hide || (G.scene->selectmode & SCE_SELECT_CU_HANDLES_HIDE)) return;
+
glBegin(GL_LINES);
if( (nu->type & 7)==1) {
@@ -3030,9 +3035,13 @@
a= nu->pntsu;
while(a--) {
if(bezt->hide==0) {
- if((bezt->f1 & 1)==sel) bglVertex3fv(bezt->vec[0]);
- if((bezt->f2 & 1)==sel) bglVertex3fv(bezt->vec[1]);
- if((bezt->f3 & 1)==sel) bglVertex3fv(bezt->vec[2]);
+ if (G.scene->selectmode & SCE_SELECT_CU_HANDLES_HIDE) {
+ if((bezt->f2 & 1)==sel) bglVertex3fv(bezt->vec[1]);
+ } else {
+ if((bezt->f1 & 1)==sel) bglVertex3fv(bezt->vec[0]);
+ if((bezt->f2 & 1)==sel) bglVertex3fv(bezt->vec[1]);
+ if((bezt->f3 & 1)==sel) bglVertex3fv(bezt->vec[2]);
+ }
}
bezt++;
}
Modified: trunk/blender/source/blender/src/header_view3d.c
===================================================================
--- trunk/blender/source/blender/src/header_view3d.c 2007-10-23 18:20:57 UTC (rev 12360)
+++ trunk/blender/source/blender/src/header_view3d.c 2007-10-23 18:56:43 UTC (rev 12361)
@@ -5184,7 +5184,7 @@
}
xco+= 20;
}
-
+
uiDefIconBut(block, BUT, B_VIEWRENDER, ICON_SCENE_DEHLT, xco,0,XIC,YIC, NULL, 0, 1.0, 0, 0, "Render this window (hold CTRL for anim)");
if (ob && (ob->flag & OB_POSEMODE)) {
More information about the Bf-blender-cvs
mailing list