[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35908] branches/bmesh/blender/source/ blender/modifiers/intern/MOD_mirror.c: fixed indexing bug in mirror modifier

Joseph Eagar joeedh at gmail.com
Thu Mar 31 02:06:19 CEST 2011


Revision: 35908
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35908
Author:   joeedh
Date:     2011-03-31 00:06:19 +0000 (Thu, 31 Mar 2011)
Log Message:
-----------
fixed indexing bug in mirror modifier

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/modifiers/intern/MOD_mirror.c

Modified: branches/bmesh/blender/source/blender/modifiers/intern/MOD_mirror.c
===================================================================
--- branches/bmesh/blender/source/blender/modifiers/intern/MOD_mirror.c	2011-03-30 22:46:56 UTC (rev 35907)
+++ branches/bmesh/blender/source/blender/modifiers/intern/MOD_mirror.c	2011-03-31 00:06:19 UTC (rev 35908)
@@ -177,12 +177,23 @@
 	
 	/*adjust mirrored poly loopstart indices, and reverse loop order (normals)*/	
 	mp = CDDM_get_polys(cddm) + dm->numPolyData;
+	ml = CDDM_get_loops(cddm);
 	for (i=0; i<dm->numPolyData; i++, mp++) {
+		MLoop *ml2;
+		int e;
+		
 		for (j=0; j<mp->totloop; j++) {
 			CustomData_copy_data(&dm->loopData, &cddm->loopData, mp->loopstart+j,
 								 mp->loopstart+dm->numLoopData+mp->totloop-j-1, 1);
 		}
-
+		
+		ml2 = ml + mp->loopstart + dm->numLoopData;
+		e = ml2[0].e;
+		for (j=0; j<mp->totloop-1; j++) {
+			ml2[j].e = ml2[j+1].e;
+		}
+		ml2[mp->totloop-1].e = e;
+		
 		mp->loopstart += dm->numLoopData;
 	}
 




More information about the Bf-blender-cvs mailing list