diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-05-03 20:53:19 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-05-03 20:53:19 +0300 |
commit | 2cdbbfcc5a0f94fb841334edab3e22d7e3b42fab (patch) | |
tree | b2bf2df2769e042aba92ef00ee6264b35a5a52db /source/blender | |
parent | a9d264f5ca1d631e1151bff55fd8cb3c87193bce (diff) | |
parent | 38b6f8e1437348041cf7b0071bb5dc262fa27d9e (diff) |
Merge branch 'master' into blender2.8
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/intern/shrinkwrap.c | 4 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_solidify.c | 13 |
2 files changed, 9 insertions, 8 deletions
diff --git a/source/blender/blenkernel/intern/shrinkwrap.c b/source/blender/blenkernel/intern/shrinkwrap.c index ef4ddc36d08..ced836181a5 100644 --- a/source/blender/blenkernel/intern/shrinkwrap.c +++ b/source/blender/blenkernel/intern/shrinkwrap.c @@ -437,8 +437,8 @@ static void shrinkwrap_calc_normal_projection(ShrinkwrapCalcData *calc, bool for } } else { - if (targ_tree = bvhtree_from_mesh_get( - &treedata_stack.dmtreedata, calc->target, BVHTREE_FROM_LOOPTRI, 4)) + if ((targ_tree = bvhtree_from_mesh_get( + &treedata_stack.dmtreedata, calc->target, BVHTREE_FROM_LOOPTRI, 4))) { targ_callback = treedata_stack.dmtreedata.raycast_callback; treeData = &treedata_stack.dmtreedata; diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index 43fceaae22a..e37bcccacfd 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -105,7 +105,7 @@ static void mesh_calc_hq_normal(Mesh *mesh, 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; @@ -138,12 +138,12 @@ static void mesh_calc_hq_normal(Mesh *mesh, float (*face_nors)[3], float (*r_ver if (edgeref_is_init(edge_ref) && (edge_ref->f1 != -1)) { if (edge_ref->f2 != -1) { /* We have 2 faces using this edge, calculate the edges normal - * using the angle between the 2 faces as a weighting */ + * using the angle between the 2 faces as a weighting */ #if 0 add_v3_v3v3(edge_normal, face_nors[edge_ref->f1], face_nors[edge_ref->f2]); normalize_v3_length( - edge_normal, - angle_normalized_v3v3(face_nors[edge_ref->f1], face_nors[edge_ref->f2])); + edge_normal, + angle_normalized_v3v3(face_nors[edge_ref->f1], face_nors[edge_ref->f2])); #else mid_v3_v3v3_angle_weighted(edge_normal, face_nors[edge_ref->f1], face_nors[edge_ref->f2]); #endif @@ -901,15 +901,16 @@ static Mesh *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 */ BLI_assert(ed->v1 < numVerts); - 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; |