[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38298] trunk/blender/source/blender/ blenkernel/intern/subsurf_ccg.c: Fix #27921: optimal display with 2 subsurf modifiers fails.
Brecht Van Lommel
brechtvanlommel at pandora.be
Mon Jul 11 11:05:10 CEST 2011
Revision: 38298
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38298
Author: blendix
Date: 2011-07-11 09:05:10 +0000 (Mon, 11 Jul 2011)
Log Message:
-----------
Fix #27921: optimal display with 2 subsurf modifiers fails.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c
Modified: trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c 2011-07-11 09:04:00 UTC (rev 38297)
+++ trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c 2011-07-11 09:05:10 UTC (rev 38298)
@@ -1176,7 +1176,8 @@
CCGSubSurf *ss = ccgdm->ss;
CCGEdgeIterator *ei = ccgSubSurf_getEdgeIterator(ss);
CCGFaceIterator *fi = ccgSubSurf_getFaceIterator(ss);
- int i, edgeSize = ccgSubSurf_getEdgeSize(ss);
+ int i, j, edgeSize = ccgSubSurf_getEdgeSize(ss);
+ int totedge = ccgSubSurf_getNumEdges(ss);
int gridSize = ccgSubSurf_getGridSize(ss);
int useAging;
@@ -1184,13 +1185,16 @@
ccgSubSurf_getUseAgeCounts(ss, &useAging, NULL, NULL, NULL);
- for (; !ccgEdgeIterator_isStopped(ei); ccgEdgeIterator_next(ei)) {
- CCGEdge *e = ccgEdgeIterator_getCurrent(ei);
+ for (j=0; j< totedge; j++) {
+ CCGEdge *e = ccgdm->edgeMap[j].edge;
DMGridData *edgeData = ccgSubSurf_getEdgeDataArray(ss, e);
if (!drawLooseEdges && !ccgSubSurf_getEdgeNumFaces(e))
continue;
+ if(ccgdm->edgeFlags && !(ccgdm->edgeFlags[j] & ME_EDGEDRAW))
+ continue;
+
if (useAging && !(G.f&G_BACKBUFSEL)) {
int ageCol = 255-ccgSubSurf_getEdgeAge(ss, e)*4;
glColor3ub(0, ageCol>0?ageCol:0, 0);
More information about the Bf-blender-cvs
mailing list