[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