[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27614] branches/render25: pyrna api

Campbell Barton ideasman42 at gmail.com
Fri Mar 19 16:10:39 CET 2010


Revision: 27614
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27614
Author:   campbellbarton
Date:     2010-03-19 16:10:37 +0100 (Fri, 19 Mar 2010)

Log Message:
-----------
pyrna api
 curve.splines.active
 curve.splines.new(type='POLY')
 curve.splines.remove(spline)

- Added BLI_remlink_safe() since in with script input we cant be sure where the data comes from, it may not be apart of the list.
- Added flag defines for flagu and flagv, were using numbers.

Modified Paths:
--------------
    branches/render25/release/scripts/ui/properties_data_curve.py
    branches/render25/source/blender/blenkernel/BKE_curve.h
    branches/render25/source/blender/blenkernel/intern/curve.c
    branches/render25/source/blender/blenkernel/intern/displist.c
    branches/render25/source/blender/blenkernel/intern/font.c
    branches/render25/source/blender/blenkernel/intern/mesh.c
    branches/render25/source/blender/blenlib/BLI_listbase.h
    branches/render25/source/blender/blenlib/intern/freetypefont.c
    branches/render25/source/blender/blenlib/intern/listbase.c
    branches/render25/source/blender/editors/curve/editcurve.c
    branches/render25/source/blender/editors/gpencil/gpencil_edit.c
    branches/render25/source/blender/makesdna/DNA_curve_types.h
    branches/render25/source/blender/makesrna/intern/rna_curve.c
    branches/render25/source/blender/makesrna/intern/rna_scene.c
    branches/render25/source/blender/python/intern/bpy_rna.c

Modified: branches/render25/release/scripts/ui/properties_data_curve.py
===================================================================
--- branches/render25/release/scripts/ui/properties_data_curve.py	2010-03-19 11:57:39 UTC (rev 27613)
+++ branches/render25/release/scripts/ui/properties_data_curve.py	2010-03-19 15:10:37 UTC (rev 27614)
@@ -44,7 +44,7 @@
 
     def poll(self, context):
         curve = context.curve
-        return (curve and curve.active_spline)
+        return (curve and curve.splines.active)
 
 
 class DATA_PT_context_curve(DataButtonsPanel):
@@ -205,7 +205,7 @@
 
         ob = context.object
         curve = context.curve
-        act_spline = curve.active_spline
+        act_spline = curve.splines.active
         is_surf = (ob.type == 'SURFACE')
         is_poly = (act_spline.type == 'POLY')
 

Modified: branches/render25/source/blender/blenkernel/BKE_curve.h
===================================================================
--- branches/render25/source/blender/blenkernel/BKE_curve.h	2010-03-19 11:57:39 UTC (rev 27613)
+++ branches/render25/source/blender/blenkernel/BKE_curve.h	2010-03-19 15:10:37 UTC (rev 27614)
@@ -40,12 +40,12 @@
 struct BezTriple;
 struct BevList;
 
-#define KNOTSU(nu)	    ( (nu)->orderu+ (nu)->pntsu+ (((nu)->flagu & CU_CYCLIC) ? (nu->orderu-1) : 0) )
-#define KNOTSV(nu)	    ( (nu)->orderv+ (nu)->pntsv+ (((nu)->flagv & CU_CYCLIC) ? (nu->orderv-1) : 0) )
+#define KNOTSU(nu)	    ( (nu)->orderu+ (nu)->pntsu+ (((nu)->flagu & CU_NURB_CYCLIC) ? (nu->orderu-1) : 0) )
+#define KNOTSV(nu)	    ( (nu)->orderv+ (nu)->pntsv+ (((nu)->flagv & CU_NURB_CYCLIC) ? (nu->orderv-1) : 0) )
 
 /* Non cyclic nurbs have 1 less segment */
-#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 SEGMENTSU(nu)	    ( ((nu)->flagu & CU_NURB_CYCLIC) ? (nu)->pntsu : (nu)->pntsu-1 )
+#define SEGMENTSV(nu)	    ( ((nu)->flagv & CU_NURB_CYCLIC) ? (nu)->pntsv : (nu)->pntsv-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/render25/source/blender/blenkernel/intern/curve.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/curve.c	2010-03-19 11:57:39 UTC (rev 27613)
+++ branches/render25/source/blender/blenkernel/intern/curve.c	2010-03-19 15:10:37 UTC (rev 27614)
@@ -603,7 +603,7 @@
 			if(nu->knotsu) MEM_freeN(nu->knotsu);
 			if(check_valid_nurb_u(nu)) {
 				nu->knotsu= MEM_callocN(4+sizeof(float)*KNOTSU(nu), "makeknots");
-				if(nu->flagu & CU_CYCLIC) {
+				if(nu->flagu & CU_NURB_CYCLIC) {
 					calcknots(nu->knotsu, nu->pntsu, nu->orderu, 0);  /* cyclic should be uniform */
 					makecyclicknots(nu->knotsu, nu->pntsu, nu->orderu);
 				} else {
@@ -616,7 +616,7 @@
 			if(nu->knotsv) MEM_freeN(nu->knotsv);
 			if(check_valid_nurb_v(nu)) {
 				nu->knotsv= MEM_callocN(4+sizeof(float)*KNOTSV(nu), "makeknots");
-				if(nu->flagv & CU_CYCLIC) {
+				if(nu->flagv & CU_NURB_CYCLIC) {
 					calcknots(nu->knotsv, nu->pntsv, nu->orderv, 0);  /* cyclic should be uniform */
 					makecyclicknots(nu->knotsv, nu->pntsv, nu->orderv);
 				} else {
@@ -734,18 +734,18 @@
 	
 	fp= nu->knotsu;
 	ustart= fp[nu->orderu-1];
-	if(nu->flagu & CU_CYCLIC) uend= fp[nu->pntsu+nu->orderu-1];
+	if(nu->flagu & CU_NURB_CYCLIC) uend= fp[nu->pntsu+nu->orderu-1];
 	else uend= fp[nu->pntsu];
-	ustep= (uend-ustart)/((nu->flagu & CU_CYCLIC) ? totu : totu - 1);
+	ustep= (uend-ustart)/((nu->flagu & CU_NURB_CYCLIC) ? totu : totu - 1);
 	
 	basisu= (float *)MEM_mallocN(sizeof(float)*KNOTSU(nu), "makeNurbfaces3");
 
 	fp= nu->knotsv;
 	vstart= fp[nu->orderv-1];
 	
-	if(nu->flagv & CU_CYCLIC) vend= fp[nu->pntsv+nu->orderv-1];
+	if(nu->flagv & CU_NURB_CYCLIC) vend= fp[nu->pntsv+nu->orderv-1];
 	else vend= fp[nu->pntsv];
-	vstep= (vend-vstart)/((nu->flagv & CU_CYCLIC) ? totv : totv - 1);
+	vstep= (vend-vstart)/((nu->flagv & CU_NURB_CYCLIC) ? totv : totv - 1);
 	
 	len= KNOTSV(nu);
 	basisv= (float *)MEM_mallocN(sizeof(float)*len*totv, "makeNurbfaces3");
@@ -753,7 +753,7 @@
 	jend= (int *)MEM_mallocN(sizeof(float)*totv, "makeNurbfaces5");
 
 	/* precalculation of basisv and jstart,jend */
-	if(nu->flagv & CU_CYCLIC) cycl= nu->orderv-1; 
+	if(nu->flagv & CU_NURB_CYCLIC) cycl= nu->orderv-1; 
 	else cycl= 0;
 	v= vstart;
 	basis= basisv;
@@ -764,7 +764,7 @@
 		v+= vstep;
 	}
 
-	if(nu->flagu & CU_CYCLIC) cycl= nu->orderu-1; 
+	if(nu->flagu & CU_NURB_CYCLIC) cycl= nu->orderu-1; 
 	else cycl= 0;
 	in= coord_array;
 	u= ustart;
@@ -882,13 +882,13 @@
 
 	fp= nu->knotsu;
 	ustart= fp[nu->orderu-1];
-	if(nu->flagu & CU_CYCLIC) uend= fp[nu->pntsu+nu->orderu-1];
+	if(nu->flagu & CU_NURB_CYCLIC) uend= fp[nu->pntsu+nu->orderu-1];
 	else uend= fp[nu->pntsu];
-	ustep= (uend-ustart)/(resolu - ((nu->flagu & CU_CYCLIC) ? 0 : 1));
+	ustep= (uend-ustart)/(resolu - ((nu->flagu & CU_NURB_CYCLIC) ? 0 : 1));
 	
 	basisu= (float *)MEM_mallocN(sizeof(float)*KNOTSU(nu), "makeNurbcurve3");
 
-	if(nu->flagu & CU_CYCLIC) cycl= nu->orderu-1; 
+	if(nu->flagu & CU_NURB_CYCLIC) cycl= nu->orderu-1; 
 	else cycl= 0;
 
 	u= ustart;
@@ -1022,8 +1022,8 @@
 		
 		sizeu = nu->pntsu*nu->resolu; 
 		sizev = nu->pntsv*nu->resolv;
-		if (nu->flagu & CU_CYCLIC) sizeu++;
-		if (nu->flagv & CU_CYCLIC) sizev++;
+		if (nu->flagu & CU_NURB_CYCLIC) sizeu++;
+		if (nu->flagv & CU_NURB_CYCLIC) sizev++;
  		if(nu->pntsv>1) tot+= sizeu * sizev;
 		
 		nu= nu->next;
@@ -1036,8 +1036,8 @@
 		if(nu->pntsv>1) {
 			sizeu = nu->pntsu*nu->resolu; 
 			sizev = nu->pntsv*nu->resolv;
-			if (nu->flagu & CU_CYCLIC) sizeu++;
-			if (nu->flagv & CU_CYCLIC) sizev++;
+			if (nu->flagu & CU_NURB_CYCLIC) sizeu++;
+			if (nu->flagv & CU_NURB_CYCLIC) sizev++;
 			
 			if(cu->flag & CU_UV_ORCO) {
 				for(b=0; b< sizeu; b++) {
@@ -1063,12 +1063,12 @@
 				
 				for(b=0; b<sizeu; b++) {
 					int use_b= b;
-					if (b==sizeu-1 && (nu->flagu & CU_CYCLIC))
+					if (b==sizeu-1 && (nu->flagu & CU_NURB_CYCLIC))
 						use_b= 0;
 					
 					for(a=0; a<sizev; a++) {
 						int use_a= a;
-						if (a==sizev-1 && (nu->flagv & CU_CYCLIC))
+						if (a==sizev-1 && (nu->flagv & CU_NURB_CYCLIC))
 							use_a= 0;
 						
 						tdata = _tdata + 3 * (use_b * (nu->pntsv*nu->resolv) + use_a);
@@ -1511,14 +1511,14 @@
 	
 	/* returns a point */
 	if(prevbezt==nu->bezt) {
-		if(nu->flagu & CU_CYCLIC) pprev= last;
+		if(nu->flagu & CU_NURB_CYCLIC) pprev= last;
 		else pprev= prevbezt;
 	}
 	else pprev= prevbezt-1;
 	
 	/* next point */
 	if(bezt==last) {
-		if(nu->flagu & CU_CYCLIC) next= nu->bezt;
+		if(nu->flagu & CU_NURB_CYCLIC) next= nu->bezt;
 		else next= bezt;
 	}
 	else next= bezt+1;
@@ -1977,7 +1977,7 @@
 				bl= MEM_callocN(sizeof(BevList)+len*sizeof(BevPoint), "makeBevelList2");
 				BLI_addtail(&(cu->bev), bl);
 	
-				if(nu->flagu & CU_CYCLIC) bl->poly= 0;
+				if(nu->flagu & CU_NURB_CYCLIC) bl->poly= 0;
 				else bl->poly= -1;
 				bl->nr= len;
 				bl->dupe_nr= 0;
@@ -1995,17 +1995,17 @@
 			}
 			else if(nu->type == CU_BEZIER) {
 	
-				len= resolu*(nu->pntsu+ (nu->flagu & CU_CYCLIC) -1)+1;	/* in case last point is not cyclic */
+				len= resolu*(nu->pntsu+ (nu->flagu & CU_NURB_CYCLIC) -1)+1;	/* in case last point is not cyclic */
 				bl= MEM_callocN(sizeof(BevList)+len*sizeof(BevPoint), "makeBevelBPoints");
 				BLI_addtail(&(cu->bev), bl);
 	
-				if(nu->flagu & CU_CYCLIC) bl->poly= 0;
+				if(nu->flagu & CU_NURB_CYCLIC) bl->poly= 0;
 				else bl->poly= -1;
 				bevp= (BevPoint *)(bl+1);
 	
 				a= nu->pntsu-1;
 				bezt= nu->bezt;
-				if(nu->flagu & CU_CYCLIC) {
+				if(nu->flagu & CU_NURB_CYCLIC) {
 					a++;
 					prevbezt= nu->bezt+(nu->pntsu-1);
 				}
@@ -2066,7 +2066,7 @@
 					bezt++;
 				}
 				
-				if((nu->flagu & CU_CYCLIC)==0) {	    /* not cyclic: endpoint */
+				if((nu->flagu & CU_NURB_CYCLIC)==0) {	    /* not cyclic: endpoint */
 					VECCOPY(bevp->vec, prevbezt->vec[1]);
 					bevp->alfa= prevbezt->alfa;
 					bevp->radius= prevbezt->radius;
@@ -2081,7 +2081,7 @@
 					BLI_addtail(&(cu->bev), bl);
 					bl->nr= len;
 					bl->dupe_nr= 0;
-					if(nu->flagu & CU_CYCLIC) bl->poly= 0;
+					if(nu->flagu & CU_NURB_CYCLIC) bl->poly= 0;
 					else bl->poly= -1;
 					bevp= (BevPoint *)(bl+1);
 					
@@ -2521,7 +2521,7 @@
 	
 	a= nu->pntsu;
 	bezt= nu->bezt;
-	if(nu->flagu & CU_CYCLIC) prev= bezt+(a-1);
+	if(nu->flagu & CU_NURB_CYCLIC) prev= bezt+(a-1);
 	else prev= 0;
 	next= bezt+1;
 
@@ -2529,7 +2529,7 @@
 		calchandleNurb(bezt, prev, next, 0);
 		prev= bezt;
 		if(a==1) {
-			if(nu->flagu & CU_CYCLIC) next= nu->bezt;
+			if(nu->flagu & CU_NURB_CYCLIC) next= nu->bezt;
 			else next= 0;
 		}
 		else next++;
@@ -2986,7 +2986,7 @@
 	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 */
+	if (((nu->flag & CU_NURB_CYCLIC)==0) && (nu->flagu & CU_NURB_BEZIER)) { /* Bezier U Endpoints */
 		if (nu->orderu==4) {
 			if (nu->pntsu < 5)			return 0; /* bezier with 4 orderu needs 5 points */
 		} else if (nu->orderu != 3)		return 0; /* order must be 3 or 4 */
@@ -3000,7 +3000,7 @@
 	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 */
+	if (((nu->flag & CU_NURB_CYCLIC)==0) && (nu->flagv & CU_NURB_BEZIER)) { /* Bezier V Endpoints */
 		if (nu->orderv==4) {
 			if (nu->pntsv < 5)			return 0; /* bezier with 4 orderu needs 5 points */
 		} else if (nu->orderv != 3)		return 0; /* order must be 3 or 4 */
@@ -3015,7 +3015,7 @@
 		nu->orderu= nu->pntsu;
 		change= 1;
 	}
-	if(((nu->flag & CU_CYCLIC)==0) && (nu->flagu>>1)&2) {
+	if(((nu->flag & CU_NURB_CYCLIC)==0) && (nu->flagu & CU_NURB_BEZIER)) {
 		CLAMP(nu->orderu, 3,4);
 		change= 1;
 	}
@@ -3029,7 +3029,7 @@
 		nu->orderv= nu->pntsv;
 		change= 1;
 	}
-	if(((nu->flag & CU_CYCLIC)==0) && (nu->flagv>>1)&2) {
+	if(((nu->flag & CU_NURB_CYCLIC)==0) && (nu->flagv & CU_NURB_BEZIER)) {
 		CLAMP(nu->orderv, 3,4);
 		change= 1;
 	}

Modified: branches/render25/source/blender/blenkernel/intern/displist.c
===================================================================

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list