Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-05-03 20:48:28 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-05-03 20:48:28 +0300
commit38b6f8e1437348041cf7b0071bb5dc262fa27d9e (patch)
tree55ea334bd44f924ec82823fcd82178061bf7edee /source/blender
parent5e225ddb21d853a60c97b539dacab32599fa94ec (diff)
Cleanup: correct solidify logic
Code for side normals isn't executing at the moment, so not essential, but better correct it.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/modifiers/intern/MOD_solidify.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c
index aa5b0caea2a..280f3c771ed 100644
--- a/source/blender/modifiers/intern/MOD_solidify.c
+++ b/source/blender/modifiers/intern/MOD_solidify.c
@@ -105,7 +105,7 @@ static void dm_calc_normal(DerivedMesh *dm, float (*face_nors)[3], float (*r_ver
EdgeFaceRef *edge_ref;
float edge_normal[3];
- /* This loop adds an edge hash if its not there, and adds the face index */
+ /* Add an edge reference if it's not there, pointing back to the face index. */
for (i = 0; i < numFaces; i++, mp++) {
int j;
@@ -899,14 +899,15 @@ static DerivedMesh *applyModifier(
#ifdef SOLIDIFY_SIDE_NORMALS
if (do_side_normals) {
+ const MEdge *ed_orig = medge;
ed = medge + (numEdges * stride);
- for (i = 0; i < rimVerts; i++, ed++) {
+ for (i = 0; i < rimVerts; i++, ed++, ed_orig++) {
float nor_cpy[3];
short *nor_short;
int k;
/* note, only the first vertex (lower half of the index) is calculated */
- normalize_v3_v3(nor_cpy, edge_vert_nos[ed->v1]);
+ normalize_v3_v3(nor_cpy, edge_vert_nos[ed_orig->v1]);
for (k = 0; k < 2; k++) { /* loop over both verts of the edge */
nor_short = mvert[*(&ed->v1 + k)].no;