[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [43449] branches/bmesh/blender/source/ blender/modifiers/intern/MOD_solidify.c: another fix for bmesh/ solidify - was using incorrect poly length when finding the customdata to copy .
Campbell Barton
ideasman42 at gmail.com
Tue Jan 17 14:27:00 CET 2012
Revision: 43449
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43449
Author: campbellbarton
Date: 2012-01-17 13:26:59 +0000 (Tue, 17 Jan 2012)
Log Message:
-----------
another fix for bmesh/solidify - was using incorrect poly length when finding the customdata to copy.
Modified Paths:
--------------
branches/bmesh/blender/source/blender/modifiers/intern/MOD_solidify.c
Modified: branches/bmesh/blender/source/blender/modifiers/intern/MOD_solidify.c
===================================================================
--- branches/bmesh/blender/source/blender/modifiers/intern/MOD_solidify.c 2012-01-17 13:18:23 UTC (rev 43448)
+++ branches/bmesh/blender/source/blender/modifiers/intern/MOD_solidify.c 2012-01-17 13:26:59 UTC (rev 43449)
@@ -601,11 +601,15 @@
DM_copy_poly_data(dm, result, fidx, (numFaces * 2) + i, 1);
mp->loopstart = j+numLoops*2;
mp->flag = mpoly[fidx].flag;
- mp->totloop = 4;
+ /* notice we use 'mp->totloop' which is later overwritten,
+ * we could lookup the original face but theres no point since this is a copy
+ * and will have the same value, just take care when changing order of assignment */
k1 = mpoly[fidx].loopstart + ((edge_order[eidx] + mp->totloop + 1) % mp->totloop);
- k2 = mpoly[fidx].loopstart + ((edge_order[eidx] % mp->totloop));
+ k2 = mpoly[fidx].loopstart + (edge_order[eidx]);
+ mp->totloop = 4;
+
CustomData_copy_data(&dm->loopData, &result->loopData, k1, numLoops*2+j+0, 1);
CustomData_copy_data(&dm->loopData, &result->loopData, k2, numLoops*2+j+1, 1);
CustomData_copy_data(&dm->loopData, &result->loopData, k2, numLoops*2+j+2, 1);
More information about the Bf-blender-cvs
mailing list