[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57464] trunk/blender/source/blender/ modifiers/intern/MOD_solidify.c: fix for recent changes in solidify, normals were OK but customdata for loops wasnt.

Campbell Barton ideasman42 at gmail.com
Sat Jun 15 10:59:54 CEST 2013


Revision: 57464
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57464
Author:   campbellbarton
Date:     2013-06-15 08:59:54 +0000 (Sat, 15 Jun 2013)
Log Message:
-----------
fix for recent changes in solidify, normals were OK but customdata for loops wasnt.

Modified Paths:
--------------
    trunk/blender/source/blender/modifiers/intern/MOD_solidify.c

Modified: trunk/blender/source/blender/modifiers/intern/MOD_solidify.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_solidify.c	2013-06-15 08:56:04 UTC (rev 57463)
+++ trunk/blender/source/blender/modifiers/intern/MOD_solidify.c	2013-06-15 08:59:54 UTC (rev 57464)
@@ -310,24 +310,26 @@
 		}
 
 		for (i = 0, mp = orig_mpoly; i < numFaces; i++, mp++) {
+			MLoop *ml_prev;
 			int j;
 
 			ml = orig_mloop + mp->loopstart;
+			ml_prev = ml + (mp->totloop - 1);
 
 			for (j = 0; j < mp->totloop; j++, ml++) {
 				/* add edge user */
-				eidx = ml->e;
+				eidx = ml_prev->e;
 				if (edge_users[eidx] == INVALID_UNUSED) {
-					unsigned int ml_v_next = (j + 1 != mp->totloop) ? ml[1].v : ml[-j].v;
 					ed = orig_medge + eidx;
-					BLI_assert(ELEM(ml->v,     ed->v1, ed->v2) &&
-					           ELEM(ml_v_next, ed->v1, ed->v2));
-					edge_users[eidx] = (ml->v > ml_v_next) == (ed->v1 < ed->v2) ? i : (i + numFaces);
+					BLI_assert(ELEM(ml_prev->v,    ed->v1, ed->v2) &&
+					           ELEM(ml->v, ed->v1, ed->v2));
+					edge_users[eidx] = (ml_prev->v > ml->v) == (ed->v1 < ed->v2) ? i : (i + numFaces);
 					edge_order[eidx] = j;
 				}
 				else {
 					edge_users[eidx] = INVALID_PAIR;
 				}
+				ml_prev = ml;
 			}
 		}
 




More information about the Bf-blender-cvs mailing list