diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-06-27 08:32:44 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-06-27 08:32:44 +0400 |
commit | 603258d763bee37d7559804b94152411abed019b (patch) | |
tree | 75719d19ec6b0f5f40d16f14e115780adb0a55eb /source/blender/blenkernel/intern/mesh.c | |
parent | 3ff36f928c008aa5c0f114ec0f3b83f1db85766a (diff) |
fix for zero length normalize before scanfill for meshes and other minor changes.
Diffstat (limited to 'source/blender/blenkernel/intern/mesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/mesh.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c index 8c6c5d9fd83..92ba82a9ce2 100644 --- a/source/blender/blenkernel/intern/mesh.c +++ b/source/blender/blenkernel/intern/mesh.c @@ -2765,7 +2765,9 @@ int BKE_mesh_recalc_tessellation(CustomData *fdata, BLI_scanfill_edge_add(&sf_ctx, sf_vert_last, sf_vert_first); #ifdef USE_TESSFACE_CALCNORMAL add_newell_cross_v3_v3v3(normal, sf_vert_last->co, sf_vert_first->co); - normalize_v3(normal); + if (UNLIKELY(normalize_v3(normal) == 0.0f)) { + normal[2] = 1.0f; + } totfilltri = BLI_scanfill_calc_ex(&sf_ctx, 0, normal); #else totfilltri = BLI_scanfill_calc(&sf_ctx, 0); |