[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59620] trunk/blender/source/blender/ editors/curve/editcurve.c: code cleanup: curves, replace magic numbers for enums.

Campbell Barton ideasman42 at gmail.com
Thu Aug 29 05:00:06 CEST 2013


Revision: 59620
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59620
Author:   campbellbarton
Date:     2013-08-29 03:00:04 +0000 (Thu, 29 Aug 2013)
Log Message:
-----------
code cleanup: curves, replace magic numbers for enums.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/curve/editcurve.c

Modified: trunk/blender/source/blender/editors/curve/editcurve.c
===================================================================
--- trunk/blender/source/blender/editors/curve/editcurve.c	2013-08-29 02:32:51 UTC (rev 59619)
+++ trunk/blender/source/blender/editors/curve/editcurve.c	2013-08-29 03:00:04 UTC (rev 59620)
@@ -106,19 +106,29 @@
 	Nurb *orig_nu;
 } CVKeyIndex;
 
-void selectend_nurb(Object *obedit, short selfirst, short doswap, short selstatus);
-static void select_adjacent_cp(ListBase *editnurb, short next, short cont, short selstatus);
-static void adduplicateflagNurb(Object *obedit, ListBase *newnurb, const short flag, const bool split);
-static int curve_delete_selected(Object *obedit, const int type, const bool split);
+typedef enum eVisible_Types {
+	HIDDEN = true,
+	VISIBLE = false,
+} eVisible_Types;
 
-/* still need to eradicate a few :( */
-#define CALLOC_STRUCT_N(x, y, name) (x *)MEM_callocN((y) * sizeof(x), name)
+typedef enum eEndPoint_Types {
+	FIRST = true,
+	LAST = false,
+} eEndPoint_Types;
 
-enum {
+typedef enum eCurveElem_Types {
 	CURVE_VERTEX = 0,
 	CURVE_SEGMENT,
-};
+} eCurveElem_Types;
 
+void selectend_nurb(Object *obedit, enum eEndPoint_Types selfirst, bool doswap, bool selstatus);
+static void select_adjacent_cp(ListBase *editnurb, short next, const bool cont, const bool selstatus);
+static void adduplicateflagNurb(Object *obedit, ListBase *newnurb, const short flag, const bool split);
+static int curve_delete_selected(Object *obedit, const eCurveElem_Types type, const bool split);
+
+/* still need to eradicate a few :( */
+#define CALLOC_STRUCT_N(x, y, name) (x *)MEM_callocN((y) * sizeof(x), name)
+
 static float nurbcircle[8][2] = {
 	{0.0, -1.0}, {-1.0, -1.0}, {-1.0, 0.0}, {-1.0,  1.0},
 	{0.0,  1.0}, { 1.0,  1.0}, { 1.0, 0.0}, { 1.0, -1.0}
@@ -156,69 +166,59 @@
 
 /* ******************* SELECTION FUNCTIONS ********************* */
 
-#define HIDDEN          1
-#define VISIBLE         0
 
-#define FIRST           1
-#define LAST            0
-
-
 /* returns 1 in case (de)selection was successful */
-static short select_beztriple(BezTriple *bezt, short selstatus, short flag, short hidden)
+static bool select_beztriple(BezTriple *bezt, bool selstatus, short flag, eVisible_Types hidden)
 {	
-	if (bezt) {
-		if ((bezt->hide == 0) || (hidden == 1)) {
-			if (selstatus == 1) { /* selects */
-				bezt->f1 |= flag;
-				bezt->f2 |= flag;
-				bezt->f3 |= flag;
-				return 1;
-			}
-			else { /* deselects */
-				bezt->f1 &= ~flag; 
-				bezt->f2 &= ~flag; 
-				bezt->f3 &= ~flag; 
-				return 1;
-			}
+	if ((bezt->hide == 0) || (hidden == HIDDEN)) {
+		if (selstatus == SELECT) { /* selects */
+			bezt->f1 |= flag;
+			bezt->f2 |= flag;
+			bezt->f3 |= flag;
+			return true;
 		}
+		else { /* deselects */
+			bezt->f1 &= ~flag;
+			bezt->f2 &= ~flag;
+			bezt->f3 &= ~flag;
+			return true;
+		}
 	}
 	
-	return 0;
+	return false;
 }
 
 /* returns 1 in case (de)selection was successful */
-static short select_bpoint(BPoint *bp, short selstatus, short flag, short hidden) 
+static bool select_bpoint(BPoint *bp, bool selstatus, short flag, bool hidden)
 {	
-	if (bp) {
-		if ((bp->hide == 0) || (hidden == 1)) {
-			if (selstatus == 1) {
-				bp->f1 |= flag;
-				return 1;
-			}
-			else {
-				bp->f1 &= ~flag;
-				return 1;
-			}
+	if ((bp->hide == 0) || (hidden == 1)) {
+		if (selstatus == SELECT) {
+			bp->f1 |= flag;
+			return true;
 		}
+		else {
+			bp->f1 &= ~flag;
+			return true;
+		}
 	}
 
-	return 0;
+	return false;
 }
 
-static short swap_selection_beztriple(BezTriple *bezt)
+static bool swap_selection_beztriple(BezTriple *bezt)
 {
 	if (bezt->f2 & SELECT)
-		return select_beztriple(bezt, DESELECT, 1, VISIBLE);
+		return select_beztriple(bezt, DESELECT, SELECT, VISIBLE);
 	else
-		return select_beztriple(bezt, SELECT, 1, VISIBLE);
+		return select_beztriple(bezt, SELECT, SELECT, VISIBLE);
 }
 
-static short swap_selection_bpoint(BPoint *bp)
+static bool swap_selection_bpoint(BPoint *bp)
 {
 	if (bp->f1 & SELECT)
-		return select_bpoint(bp, DESELECT, 1, VISIBLE);
+		return select_bpoint(bp, DESELECT, SELECT, VISIBLE);
 	else
-		return select_bpoint(bp, SELECT, 1, VISIBLE);
+		return select_bpoint(bp, SELECT, SELECT, VISIBLE);
 }
 
 int isNurbsel(Nurb *nu)
@@ -2599,7 +2599,8 @@
 /* next == -1 -> select previous    */
 /* cont == 1 -> select continuously */
 /* selstatus, inverts behavior		*/
-static void select_adjacent_cp(ListBase *editnurb, short next, short cont, short selstatus)
+static void select_adjacent_cp(ListBase *editnurb, short next,
+                               const bool cont, const bool selstatus)
 {
 	Nurb *nu;
 	BezTriple *bezt;
@@ -2617,10 +2618,10 @@
 			if (next < 0) bezt = &nu->bezt[a - 1];
 			while (a--) {
 				if (a - abs(next) < 0) break;
-				if ((lastsel == 0) && (bezt->hide == 0) && ((bezt->f2 & SELECT) || (selstatus == 0))) {
+				if ((lastsel == 0) && (bezt->hide == 0) && ((bezt->f2 & SELECT) || (selstatus == DESELECT))) {
 					bezt += next;
-					if (!(bezt->f2 & SELECT) || (selstatus == 0)) {
-						short sel = select_beztriple(bezt, selstatus, 1, VISIBLE);
+					if (!(bezt->f2 & SELECT) || (selstatus == DESELECT)) {
+						short sel = select_beztriple(bezt, selstatus, SELECT, VISIBLE);
 						if ((sel == 1) && (cont == 0)) lastsel = true;
 					}
 				}
@@ -2638,10 +2639,10 @@
 			if (next < 0) bp = &nu->bp[a - 1];
 			while (a--) {
 				if (a - abs(next) < 0) break;
-				if ((lastsel == 0) && (bp->hide == 0) && ((bp->f1 & SELECT) || (selstatus == 0))) {
+				if ((lastsel == 0) && (bp->hide == 0) && ((bp->f1 & SELECT) || (selstatus == DESELECT))) {
 					bp += next;
-					if (!(bp->f1 & SELECT) || (selstatus == 0)) {
-						short sel = select_bpoint(bp, selstatus, 1, VISIBLE);
+					if (!(bp->f1 & SELECT) || (selstatus == DESELECT)) {
+						short sel = select_bpoint(bp, selstatus, SELECT, VISIBLE);
 						if ((sel == 1) && (cont == 0)) lastsel = true;
 					}
 				}
@@ -2663,7 +2664,7 @@
  * doswap: defines if selection state of each first/last control point is swapped
  * selstatus: selection status in case doswap is false
  */
-void selectend_nurb(Object *obedit, short selfirst, short doswap, short selstatus)
+void selectend_nurb(Object *obedit, eEndPoint_Types selfirst, bool doswap, bool selstatus)
 {
 	ListBase *editnurb = object_editcurve_get(obedit);
 	Nurb *nu;
@@ -2682,7 +2683,7 @@
 			a = nu->pntsu;
 			
 			/* which point? */
-			if (selfirst == 0) { /* select last */
+			if (selfirst == LAST) { /* select last */
 				bezt = &nu->bezt[a - 1];
 			}
 			else { /* select first */
@@ -2690,18 +2691,18 @@
 			}
 			
 			while (a--) {
-				short sel;
+				bool sel;
 				if (doswap) sel = swap_selection_beztriple(bezt);
-				else sel = select_beztriple(bezt, selstatus, 1, VISIBLE);
+				else sel = select_beztriple(bezt, selstatus, SELECT, VISIBLE);
 				
-				if (sel == 1) break;
+				if (sel == true) break;
 			}
 		}
 		else {
 			a = nu->pntsu * nu->pntsv;
 			
 			/* which point? */
-			if (selfirst == 0) { /* select last */
+			if (selfirst == LAST) { /* select last */
 				bp = &nu->bp[a - 1];
 			}
 			else { /* select first */
@@ -2710,11 +2711,11 @@
 
 			while (a--) {
 				if (bp->hide == 0) {
-					short sel;
+					bool sel;
 					if (doswap) sel = swap_selection_bpoint(bp);
-					else sel = select_bpoint(bp, selstatus, 1, VISIBLE);
+					else sel = select_bpoint(bp, selstatus, SELECT, VISIBLE);
 					
-					if (sel == 1) break;
+					if (sel == true) break;
 				}
 			}
 		}
@@ -2725,7 +2726,7 @@
 {
 	Object *obedit = CTX_data_edit_object(C);
 
-	selectend_nurb(obedit, FIRST, 1, DESELECT);
+	selectend_nurb(obedit, FIRST, true, DESELECT);
 	WM_event_add_notifier(C, NC_GEOM | ND_SELECT, obedit->data);
 
 	return OPERATOR_FINISHED;
@@ -2750,7 +2751,7 @@
 {
 	Object *obedit = CTX_data_edit_object(C);
 
-	selectend_nurb(obedit, LAST, 1, DESELECT);
+	selectend_nurb(obedit, LAST, true, DESELECT);
 	WM_event_add_notifier(C, NC_GEOM | ND_SELECT, obedit->data);
 
 	return OPERATOR_FINISHED;
@@ -2875,11 +2876,11 @@
 			sel = 0;
 			while (a--) {
 				if (invert == 0 && BEZSELECTED_HIDDENHANDLES(cu, bezt)) {
-					select_beztriple(bezt, DESELECT, 1, HIDDEN);
+					select_beztriple(bezt, DESELECT, SELECT, HIDDEN);
 					bezt->hide = 1;
 				}
 				else if (invert && !BEZSELECTED_HIDDENHANDLES(cu, bezt)) {
-					select_beztriple(bezt, DESELECT, 1, HIDDEN);
+					select_beztriple(bezt, DESELECT, SELECT, HIDDEN);
 					bezt->hide = 1;
 				}
 				if (bezt->hide) sel++;
@@ -2893,11 +2894,11 @@
 			sel = 0;
 			while (a--) {
 				if (invert == 0 && (bp->f1 & SELECT)) {
-					select_bpoint(bp, DESELECT, 1, HIDDEN);
+					select_bpoint(bp, DESELECT, SELECT, HIDDEN);
 					bp->hide = 1;
 				}
 				else if (invert && (bp->f1 & SELECT) == 0) {
-					select_bpoint(bp, DESELECT, 1, HIDDEN);
+					select_bpoint(bp, DESELECT, SELECT, HIDDEN);
 					bp->hide = 1;
 				}
 				if (bp->hide) sel++;
@@ -2949,7 +2950,7 @@
 			a = nu->pntsu;
 			while (a--) {
 				if (bezt->hide) {
-					select_beztriple(bezt, SELECT, 1, HIDDEN);
+					select_beztriple(bezt, SELECT, SELECT, HIDDEN);
 					bezt->hide = 0;
 				}
 				bezt++;
@@ -2960,7 +2961,7 @@
 			a = nu->pntsu * nu->pntsv;
 			while (a--) {
 				if (bp->hide) {
-					select_bpoint(bp, SELECT, 1, HIDDEN);
+					select_bpoint(bp, SELECT, SELECT, HIDDEN);
 					bp->hide = 0;
 				}
 				bp++;
@@ -3926,7 +3927,7 @@
 		for (u = 0; u < nu1->pntsu; u++, bp++) {
 			if (u < origu) {
 				*bp = *bp1; bp1++;
-				select_bpoint(bp, SELECT, 1, HIDDEN);
+				select_bpoint(bp, SELECT, SELECT, HIDDEN);
 			}
 			else {
 				*bp = *bp2; bp2++;
@@ -4234,7 +4235,7 @@
 		if (extend) {
 			if (bezt) {
 				if (hand == 1) {
-					select_beztriple(bezt, SELECT, 1, HIDDEN);
+					select_beztriple(bezt, SELECT, SELECT, HIDDEN);
 					cu->lastsel = bezt;
 				}
 				else {
@@ -4246,13 +4247,13 @@
 			}
 			else {
 				cu->lastsel = bp;
-				select_bpoint(bp, SELECT, 1, HIDDEN);
+				select_bpoint(bp, SELECT, SELECT, HIDDEN);
 			}
 		}
 		else if (deselect) {
 			if (bezt) {
 				if (hand == 1) {
-					select_beztriple(bezt, DESELECT, 1, HIDDEN);
+					select_beztriple(bezt, DESELECT, SELECT, HIDDEN);
 					if (bezt == cu->lastsel) cu->lastsel = NULL;
 				}
 				else if (hand == 0) {
@@ -4263,7 +4264,7 @@
 				}
 			}
 			else {
-				select_bpoint(bp, DESELECT, 1, HIDDEN);
+				select_bpoint(bp, DESELECT, SELECT, HIDDEN);
 				if (cu->lastsel == bp) cu->lastsel = NULL;
 			}
 		}
@@ -4271,11 +4272,11 @@
 			if (bezt) {
 				if (hand == 1) {
 					if (bezt->f2 & SELECT) {

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list