[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27983] trunk/blender/source/blender/ blenkernel/intern/mesh.c: Fix #21850: Modifier applied to surface doesnt work when only a curve.

Sergey Sharybin g.ulairi at gmail.com
Sun Apr 4 13:07:35 CEST 2010


Revision: 27983
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27983
Author:   nazgul
Date:     2010-04-04 13:07:34 +0200 (Sun, 04 Apr 2010)

Log Message:
-----------
Fix #21850: Modifier applied to surface doesnt work when only a curve.

I removed 3D flag checking for DL_POLY displists in nurbs-to-mesh conversion
function -- DL_POLY displist should be always converted to edge loop.
DL_POLY which should be converted to something else is odd i think.

This commit also fixes trouble cyclic surface curve to mesh conversion problem.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/mesh.c

Modified: trunk/blender/source/blender/blenkernel/intern/mesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mesh.c	2010-04-04 10:37:47 UTC (rev 27982)
+++ trunk/blender/source/blender/blenkernel/intern/mesh.c	2010-04-04 11:07:34 UTC (rev 27983)
@@ -774,11 +774,8 @@
 			totvlak+= dl->parts*(dl->nr-1);
 		}
 		else if(dl->type==DL_POLY) {
-			/* cyclic polys are filled. except when 3D */
-			if(cu->flag & CU_3D) {
-				totvert+= dl->parts*dl->nr;
-				totvlak+= dl->parts*dl->nr;
-			}
+			totvert+= dl->parts*dl->nr;
+			totvlak+= dl->parts*dl->nr;
 		}
 		else if(dl->type==DL_SURF) {
 			totvert+= dl->parts*dl->nr;
@@ -830,27 +827,24 @@
 
 		}
 		else if(dl->type==DL_POLY) {
-			/* 3d polys are not filled */
-			if(cu->flag & CU_3D) {
-				startvert= vertcount;
-				a= dl->parts*dl->nr;
-				data= dl->verts;
-				while(a--) {
-					VECCOPY(mvert->co, data);
-					data+=3;
-					vertcount++;
-					mvert++;
-				}
+			startvert= vertcount;
+			a= dl->parts*dl->nr;
+			data= dl->verts;
+			while(a--) {
+				VECCOPY(mvert->co, data);
+				data+=3;
+				vertcount++;
+				mvert++;
+			}
 
-				for(a=0; a<dl->parts; a++) {
-					ofs= a*dl->nr;
-					for(b=0; b<dl->nr; b++) {
-						mface->v1= startvert+ofs+b;
-						if(b==dl->nr-1) mface->v2= startvert+ofs;
-						else mface->v2= startvert+ofs+b+1;
-						if(smooth) mface->flag |= ME_SMOOTH;
-						mface++;
-					}
+			for(a=0; a<dl->parts; a++) {
+				ofs= a*dl->nr;
+				for(b=0; b<dl->nr; b++) {
+					mface->v1= startvert+ofs+b;
+					if(b==dl->nr-1) mface->v2= startvert+ofs;
+					else mface->v2= startvert+ofs+b+1;
+					if(smooth) mface->flag |= ME_SMOOTH;
+					mface++;
 				}
 			}
 		}





More information about the Bf-blender-cvs mailing list