Page Menu
Home
Search
Configure Global Search
Log In
Files
F4465
curve_select_02.patch
Public
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Authored By
Joshua Leung (aligorith)
Nov 13 2013, 1:16 PM
Size
4 KB
Subscribers
None
curve_select_02.patch
View Options
Index: blender/include/BDR_editcurve.h
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/include/BDR_editcurve.h,v
retrieving revision 1.13
diff -u -r1.13 BDR_editcurve.h
--- blender/include/BDR_editcurve.h 3 Jan 2006 02:35:44 -0000 1.13
+++ blender/include/BDR_editcurve.h 2 Sep 2006 08:39:46 -0000
@@ -78,6 +78,7 @@
void makecyclicNurb(void);
void selectconnected_nurb(void);
void selectrow_nurb(void);
+void selectends_curve(int selFirst);
void adduplicate_nurb(void);
void delNurb(void);
void nurb_set_smooth(short event);
Index: blender/src/editcurve.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/editcurve.c,v
retrieving revision 1.50
diff -u -r1.50 editcurve.c
--- blender/src/editcurve.c 13 Aug 2006 07:37:51 -0000 1.50
+++ blender/src/editcurve.c 2 Sep 2006 11:32:50 -0000
@@ -2976,6 +2976,68 @@
}
+void selectends_curve(int selFirst)
+{
+ Nurb *nu;
+ BPoint *bp;
+ BezTriple *bezt;
+ int a;
+
+ if(G.obedit==0) return;
+
+ nu= editNurb.first;
+ while (nu) {
+ if((nu->type & 7)==CU_BEZIER) {
+ a= nu->pntsu;
+
+ /* which point? */
+ if (selFirst==0) /* select last */
+ bezt= (nu->bezt + (a-1));
+ else /* select first */
+ bezt= nu->bezt;
+
+ if (bezt->hide == 0) {
+ /* check if anything is selected */
+ if (bezt->f1 & 1 || bezt->f2 & 1 || bezt->f3 & 1) {
+ /* deselct all handles */
+ bezt->f1 &= ~1;
+ bezt->f2 &= ~1;
+ bezt->f3 &= ~1;
+ }
+ else {
+ /* just select all handles */
+ bezt->f1 |= 1;
+ bezt->f2 |= 1;
+ bezt->f3 |= 1;
+ }
+ }
+ }
+ else {
+ /* ummm... doesn't really make sense, but... */
+ a= nu->pntsu*nu->pntsv;
+
+ /* which point? */
+ if (selFirst==0) /* select last */
+ bp= (nu->bp + (a-1));
+ else /* select first */
+ bp= nu->bp;
+
+ if (bp->hide == 0) {
+ if (bp->f1 & 1) /* deselect */
+ bp->f1 &= ~1;
+ else /* select */
+ bp->f1 |= 1;
+ }
+ }
+
+ nu= nu->next;
+ }
+
+ allqueue(REDRAWVIEW3D, 0);
+ BIF_undo_push("Select/Deselect End");
+
+}
+
void adduplicate_nurb()
{
Index: blender/src/header_view3d.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/header_view3d.c,v
retrieving revision 1.182
diff -u -r1.182 header_view3d.c
--- blender/src/header_view3d.c 27 Aug 2006 13:29:00 -0000 1.182
+++ blender/src/header_view3d.c 2 Sep 2006 11:14:31 -0000
@@ -1011,6 +1011,12 @@
case 5: /* select row (nurb) */
selectrow_nurb();
break;
+ case 7: /* select/deselect first */
+ selectends_curve(1);
+ break;
+ case 8: /* select/deselect last */
+ selectends_curve(0);
+ break;
}
allqueue(REDRAWVIEW3D, 0);
}
@@ -1035,6 +1041,12 @@
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Control Point Row|Shift R", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 5, "");
+ }
+ else {
+ uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
+
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Select/Deselect First", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Select/Deselect Last", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 8, "");
}
/* commented out because it seems to only like the LKEY method - based on mouse pointer position :( */
/*uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Connected Control Points|Ctrl L", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, "");*/
Index: blender/src/toolbox.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/toolbox.c,v
retrieving revision 1.138
diff -u -r1.138 toolbox.c
--- blender/src/toolbox.c 12 Jul 2006 14:51:30 -0000 1.138
+++ blender/src/toolbox.c 2 Sep 2006 11:55:36 -0000
@@ -903,6 +903,9 @@
{ 0, "(De)select All|A", 2, NULL},
{ 0, "Inverse", 3, NULL},
{ 0, "Row|Shift R", 5, NULL},
+{ 0, "SEPR", 0, NULL},
+{ 0, "(De)select First", 7, NULL},
+{ 0, "(De)select Last", 8, NULL},
{ -1, "", 0, do_view3d_select_curvemenu}};
static TBitem tb__select[]= {
File Metadata
Details
Mime Type
text/x-diff
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
8c/35/0994a3590f08fed8c2d9c3231d15
Event Timeline
Log In to Comment