[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