Page MenuHome

hide_handles.patch

hide_handles.patch

Index: source/blender/makesdna/DNA_scene_types.h
===================================================================
--- source/blender/makesdna/DNA_scene_types.h (revision 11922)
+++ source/blender/makesdna/DNA_scene_types.h (working copy)
@@ -572,10 +572,12 @@
#define SCE_ADDSCENAME 1
/* 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
Index: source/blender/src/drawobject.c
===================================================================
--- source/blender/src/drawobject.c (revision 11922)
+++ source/blender/src/drawobject.c (working copy)
@@ -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]);
+ }
}
}
}
@@ -2851,9 +2856,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) {
@@ -2919,9 +2924,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++;
}
Index: source/blender/src/header_view3d.c
===================================================================
--- source/blender/src/header_view3d.c (revision 11922)
+++ source/blender/src/header_view3d.c (working copy)
@@ -5326,7 +5326,14 @@
}
xco+= 20;
}
-
+
+ if(G.obedit && (G.obedit->type == OB_CURVE)) {
+ uiBlockEndAlign(block);
+ uiDefIconButBitS(block, TOG, SCE_SELECT_CU_HANDLES_HIDE, B_REDR, ICON_CURVE, xco,0,XIC,YIC, &G.scene->selectmode, 1.0, 0.0, 0, 0, "Hide curve handles in 3D view");
+ xco+= XIC + 20;
+ uiBlockEndAlign(block);
+ }
+
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)) {

File Metadata

Mime Type
text/x-diff
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
bd/ed/e8114bf0a6b7e49b23663680dc78

Event Timeline