[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23053] branches/blender2.5/blender/source /blender: Made Nurb-> type only store the type rather then mixing the type with flags.

Campbell Barton ideasman42 at gmail.com
Tue Sep 8 02:23:34 CEST 2009


Revision: 23053
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23053
Author:   campbellbarton
Date:     2009-09-08 02:23:33 +0200 (Tue, 08 Sep 2009)

Log Message:
-----------
Made Nurb->type only store the type rather then mixing the type with flags.
moved CU_2D to Nurb->flag in do_versions
This made simple type checks confusing to read.

many... if( (nu->type & 7)==CU_BEZIER)
replaced with ... if(nu->type == CU_BEZIER)

made setting rna curve_2d clamp the Z values. still more RNA/UI changes to do.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenkernel/BKE_curve.h
    branches/blender2.5/blender/source/blender/blenkernel/intern/anim.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/curve.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/displist.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/font.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/object.c
    branches/blender2.5/blender/source/blender/blenlib/intern/freetypefont.c
    branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
    branches/blender2.5/blender/source/blender/blenloader/intern/writefile.c
    branches/blender2.5/blender/source/blender/editors/curve/editcurve.c
    branches/blender2.5/blender/source/blender/editors/object/object_edit.c
    branches/blender2.5/blender/source/blender/editors/space_info/info_stats.c
    branches/blender2.5/blender/source/blender/editors/space_view3d/drawobject.c
    branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_buttons.c
    branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_snap.c
    branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c
    branches/blender2.5/blender/source/blender/editors/transform/transform_manipulator.c
    branches/blender2.5/blender/source/blender/editors/transform/transform_orientations.c
    branches/blender2.5/blender/source/blender/makesdna/DNA_curve_types.h
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_curve.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_curve.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_curve.h	2009-09-07 22:26:23 UTC (rev 23052)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_curve.h	2009-09-08 00:23:33 UTC (rev 23053)
@@ -47,7 +47,7 @@
 #define SEGMENTSU(nu)	    ( ((nu)->flagu & CU_CYCLIC) ? (nu)->pntsu : (nu)->pntsu-1 )
 #define SEGMENTSV(nu)	    ( ((nu)->flagv & CU_CYCLIC) ? (nu)->pntsv : (nu)->pntsv-1 )
 
-#define CU_DO_TILT(cu, nu) (((nu->type & CU_2D) && (cu->flag & CU_3D)==0) ? 0 : 1)
+#define CU_DO_TILT(cu, nu) (((nu->flag & CU_2D) && (cu->flag & CU_3D)==0) ? 0 : 1)
 #define CU_DO_RADIUS(cu, nu) ((CU_DO_TILT(cu, nu) || cu->bevobj || cu->ext1!=0.0 || cu->ext2!=0.0) ? 1:0)
 
 

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/anim.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/anim.c	2009-09-07 22:26:23 UTC (rev 23052)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/anim.c	2009-09-08 00:23:33 UTC (rev 23053)
@@ -271,8 +271,8 @@
 	nu= cu->nurb.first;
 
 	/* make sure that first and last frame are included in the vectors here  */
-	if((nu->type & 7)==CU_POLY) set_four_ipo(1.0f-fac, data, KEY_LINEAR);
-	else if((nu->type & 7)==CU_BEZIER) set_four_ipo(1.0f-fac, data, KEY_LINEAR);
+	if(nu->type == CU_POLY) set_four_ipo(1.0f-fac, data, KEY_LINEAR);
+	else if(nu->type == CU_BEZIER) set_four_ipo(1.0f-fac, data, KEY_LINEAR);
 	else if(s0==s1 || p2==p3) set_four_ipo(1.0f-fac, data, KEY_CARDINAL);
 	else set_four_ipo(1.0f-fac, data, KEY_BSPLINE);
 

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/curve.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/curve.c	2009-09-07 22:26:23 UTC (rev 23052)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/curve.c	2009-09-08 00:23:33 UTC (rev 23053)
@@ -470,8 +470,11 @@
 	BezTriple *bezt;
 	BPoint *bp;
 	int a;
+	
+	if((nu->flag & CU_2D)==0)
+		return;
 
-	if( nu->type== CU_BEZIER+CU_2D ) {
+	if(nu->type == CU_BEZIER) {
 		a= nu->pntsu;
 		bezt= nu->bezt;
 		while(a--) {
@@ -481,7 +484,7 @@
 			bezt++;
 		}
 	}
-	else if(nu->type & CU_2D) {
+	else {
 		a= nu->pntsu*nu->pntsv;
 		bp= nu->bp;
 		while(a--) {
@@ -497,7 +500,7 @@
 	BPoint *bp;
 	int a;
 
-	if( (nu->type & 7)==CU_BEZIER ) {
+	if(nu->type == CU_BEZIER) {
 		a= nu->pntsu;
 		bezt= nu->bezt;
 		while(a--) {
@@ -594,7 +597,7 @@
 
 void makeknots(Nurb *nu, short uv)
 {
-	if( (nu->type & 7)==CU_NURBS ) {
+	if(nu->type == CU_NURBS) {
 		if(uv == 1) {
 			if(nu->knotsu) MEM_freeN(nu->knotsu);
 			if(check_valid_nurb_u(nu)) {
@@ -1587,7 +1590,7 @@
 			else
 				resolu= nu->resolu;
 			
-			if((nu->type & 7)==CU_POLY) {
+			if(nu->type == CU_POLY) {
 				len= nu->pntsu;
 				bl= MEM_callocN(sizeof(BevList)+len*sizeof(BevPoint), "makeBevelList2");
 				BLI_addtail(&(cu->bev), bl);
@@ -1610,7 +1613,7 @@
 					bp++;
 				}
 			}
-			else if((nu->type & 7)==CU_BEZIER) {
+			else if(nu->type == CU_BEZIER) {
 	
 				len= resolu*(nu->pntsu+ (nu->flagu & CU_CYCLIC) -1)+1;	/* in case last point is not cyclic */
 				bl= MEM_callocN(sizeof(BevList)+len*sizeof(BevPoint), "makeBevelBPoints");
@@ -1718,7 +1721,7 @@
 					bl->nr++;
 				}
 			}
-			else if((nu->type & 7)==CU_NURBS) {
+			else if(nu->type == CU_NURBS) {
 				if(nu->pntsv==1) {
 					len= (resolu*SEGMENTSU(nu));
 					
@@ -2311,7 +2314,7 @@
 	BezTriple *bezt, *prev, *next;
 	short a;
 
-	if((nu->type & 7)!=CU_BEZIER) return;
+	if(nu->type != CU_BEZIER) return;
 	if(nu->pntsu<2) return;
 	
 	a= nu->pntsu;
@@ -2346,7 +2349,7 @@
 	BezTriple *bezt;
 	short flag, a;
 
-	if((nu->type & 7)!=CU_BEZIER) return;
+	if(nu->type != CU_BEZIER) return;
 
 	bezt= nu->bezt;
 	a= nu->pntsu;
@@ -2474,7 +2477,7 @@
 	if(code==1 || code==2) {
 		nu= editnurb->first;
 		while(nu) {
-			if( (nu->type & 7)==CU_BEZIER) {
+			if(nu->type == CU_BEZIER) {
 				bezt= nu->bezt;
 				a= nu->pntsu;
 				while(a--) {
@@ -2504,7 +2507,7 @@
 		} else {
 			/* Toggle */
 			while(nu) {
-				if( (nu->type & 7)==CU_BEZIER) {
+				if(nu->type == CU_BEZIER) {
 					bezt= nu->bezt;
 					a= nu->pntsu;
 					while(a--) {
@@ -2521,7 +2524,7 @@
 		}
 		nu= editnurb->first;
 		while(nu) {
-			if( (nu->type & 7)==CU_BEZIER) {
+			if(nu->type == CU_BEZIER) {
 				bezt= nu->bezt;
 				a= nu->pntsu;
 				while(a--) {
@@ -2569,7 +2572,7 @@
 
 	if(nu->pntsu==1 && nu->pntsv==1) return;
 
-	if((nu->type & 7)==CU_BEZIER) {
+	if(nu->type == CU_BEZIER) {
 		a= nu->pntsu;
 		bezt1= nu->bezt;
 		bezt2= bezt1+(a-1);
@@ -2608,7 +2611,7 @@
 			bp1++; 
 			bp2--;
 		}
-		if((nu->type & 7)==CU_NURBS) {
+		if(nu->type == CU_NURBS) {
 			/* inverse knots */
 			a= KNOTSU(nu);
 			fp1= nu->knotsu;
@@ -2671,7 +2674,7 @@
 
 	co = cos[0];
 	for (nu=lb->first; nu; nu=nu->next) {
-		if ((nu->type & 7)==CU_BEZIER) {
+		if (nu->type == CU_BEZIER) {
 			BezTriple *bezt = nu->bezt;
 
 			for (i=0; i<nu->pntsu; i++,bezt++) {
@@ -2698,7 +2701,7 @@
 	int i;
 
 	for (nu=lb->first; nu; nu=nu->next) {
-		if ((nu->type & 7)==CU_BEZIER) {
+		if (nu->type == CU_BEZIER) {
 			BezTriple *bezt = nu->bezt;
 
 			for (i=0; i<nu->pntsu; i++,bezt++) {
@@ -2720,7 +2723,7 @@
 {
 	if (nu==NULL)						return 0;
 	if (nu->pntsu <= 1)					return 0;
-	if ((nu->type & 7)!=CU_NURBS)		return 1; /* not a nurb, lets assume its valid */
+	if (nu->type != CU_NURBS)			return 1; /* not a nurb, lets assume its valid */
 	
 	if (nu->pntsu < nu->orderu)			return 0;
 	if (((nu->flag & CU_CYCLIC)==0) && ((nu->flagu>>1) & 2)) { /* Bezier U Endpoints */
@@ -2734,7 +2737,7 @@
 {
 	if (nu==NULL)						return 0;
 	if (nu->pntsv <= 1)					return 0;
-	if ((nu->type & 7)!=CU_NURBS)		return 1; /* not a nurb, lets assume its valid */
+	if (nu->type != CU_NURBS)			return 1; /* not a nurb, lets assume its valid */
 	
 	if (nu->pntsv < nu->orderv)			return 0;
 	if (((nu->flag & CU_CYCLIC)==0) && ((nu->flagv>>1) & 2)) { /* Bezier V Endpoints */

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/displist.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/displist.c	2009-09-07 22:26:23 UTC (rev 23052)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/displist.c	2009-09-08 00:23:33 UTC (rev 23053)
@@ -834,7 +834,7 @@
 				resolu= nu->resolu;
 			
 			if(!check_valid_nurb_u(nu));
-			else if((nu->type & 7)==CU_BEZIER) {
+			else if(nu->type == CU_BEZIER) {
 				
 				/* count */
 				len= 0;
@@ -902,7 +902,7 @@
 					bezt++;
 				}
 			}
-			else if((nu->type & 7)==CU_NURBS) {
+			else if(nu->type == CU_NURBS) {
 				len= (resolu*SEGMENTSU(nu));
 				
 				dl= MEM_callocN(sizeof(DispList), "makeDispListsurf");
@@ -919,7 +919,7 @@
 				else dl->type= DL_SEGM;
 				makeNurbcurve(nu, data, NULL, NULL, resolu);
 			}
-			else if((nu->type & 7)==CU_POLY) {
+			else if(nu->type == CU_POLY) {
 				len= nu->pntsu;
 				dl= MEM_callocN(sizeof(DispList), "makeDispListpoly");
 				dl->verts= MEM_callocN(len*3*sizeof(float), "dlverts");

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/font.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/font.c	2009-09-07 22:26:23 UTC (rev 23052)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/font.c	2009-09-08 00:23:33 UTC (rev 23053)
@@ -462,7 +462,7 @@
 	nu2->resolu= cu->resolu;
 	nu2->bezt = NULL;
 	nu2->knotsu = nu2->knotsv = NULL;
-	nu2->flag= 0;
+	nu2->flag= CU_2D;
 	nu2->charidx = charidx+1000;
 	if (mat_nr > 0) nu2->mat_nr= mat_nr-1;
 	nu2->pntsu = 4;
@@ -495,7 +495,6 @@
 	nu2->bp[3].vec[2] = 0;	
 	nu2->bp[3].vec[3] = 1.0;	
 	
-	nu2->type = CU_2D;
 	BLI_addtail(&(cu->nurb), nu2);	
 
 }

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/object.c	2009-09-07 22:26:23 UTC (rev 23052)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/object.c	2009-09-08 00:23:33 UTC (rev 23053)
@@ -1807,7 +1807,7 @@
 		
 		count= 0;
 		while(nu && !found) {
-			if((nu->type & 7)==CU_BEZIER) {
+			if(nu->type == CU_BEZIER) {
 				bezt= nu->bezt;
 				a= nu->pntsu;
 				while(a--) {

Modified: branches/blender2.5/blender/source/blender/blenlib/intern/freetypefont.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenlib/intern/freetypefont.c	2009-09-07 22:26:23 UTC (rev 23052)
+++ branches/blender2.5/blender/source/blender/blenlib/intern/freetypefont.c	2009-09-08 00:23:33 UTC (rev 23053)
@@ -146,9 +146,10 @@
 			bezt = (BezTriple*)MEM_callocN((onpoints[j])* sizeof(BezTriple),"objfnt_bezt") ;
 			BLI_addtail(&che->nurbsbase, nu);
 
-			nu->type= CU_BEZIER+CU_2D;
+			nu->type= CU_BEZIER;
 			nu->pntsu = onpoints[j];
 			nu->resolu= 8;
+			nu->flag= CU_2D;
 			nu->flagu= CU_CYCLIC;
 			nu->bezt = bezt;
 

Modified: branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c	2009-09-07 22:26:23 UTC (rev 23052)
+++ branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c	2009-09-08 00:23:33 UTC (rev 23053)
@@ -9219,6 +9219,7 @@
 		Material *ma;
 		Camera *cam;
 		Mesh *me;
+		Curve *cu;
 		Scene *sce;
 		Tex *tx;
 		ParticleSettings *part;
@@ -9365,6 +9366,16 @@
 
 			//BLI_freelistN(&pidlist);
 		}
+
+		/* type was a mixed flag & enum. move the 2d flag elsewhere */
+		for(cu = main->curve.first; cu; cu= cu->id.next) {
+			Nurb *nu;
+
+			for(nu= cu->nurb.first; nu; nu= nu->next) {
+				nu->flag |= (nu->type & CU_2D);
+				nu->type &= CU_TYPE;
+			}
+		}
 	}
 
 	if (main->versionfile < 250 || (main->versionfile == 250 && main->subversionfile < 1)) {

Modified: branches/blender2.5/blender/source/blender/blenloader/intern/writefile.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenloader/intern/writefile.c	2009-09-07 22:26:23 UTC (rev 23052)
+++ branches/blender2.5/blender/source/blender/blenloader/intern/writefile.c	2009-09-08 00:23:33 UTC (rev 23053)

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list