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
path: root/source
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2013-10-19 17:48:51 +0400
committerBastien Montagne <montagne29@wanadoo.fr>2013-10-19 17:48:51 +0400
commite783611098550856bd1883e44690552fe1f1326e (patch)
tree046b8d2afa3ee25134e597b85cc5bf3284cab443 /source
parente401fef6b7a3e6d5301a7a4e21e66f3fb53f9982 (diff)
Arg! Fix another bug in split normal core algorithm (some flat faces were ignored, depending on the order of evaluation)... :/
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/mesh_evaluate.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/mesh_evaluate.c b/source/blender/blenkernel/intern/mesh_evaluate.c
index 47b8e053bf7..007a852dee5 100644
--- a/source/blender/blenkernel/intern/mesh_evaluate.c
+++ b/source/blender/blenkernel/intern/mesh_evaluate.c
@@ -379,7 +379,8 @@ void BKE_mesh_normals_loop_split(MVert *mverts, const int UNUSED(numVerts), MEdg
if ((e2l[0] | e2l[1]) == 0) {
/* 'Empty' edge until now, set e2l[0] (and e2l[1] to INDEX_UNSET to tag it as unset). */
e2l[0] = ml_curr_index;
- e2l[1] = INDEX_UNSET;
+ /* We have to check this here too, else we might miss some flat faces!!! */
+ e2l[1] = (mp->flag & ME_SMOOTH) ? INDEX_UNSET : INDEX_INVALID;
}
else if (e2l[1] == INDEX_UNSET) {
/* Second loop using this edge, time to test its sharpness.