diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-11-09 12:28:14 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-11-09 12:28:14 +0400 |
commit | eff734203ff7a0f4a4f97015c9f1f59632c75abf (patch) | |
tree | 8bcb05093f6a87ae154293e0b397f905e534669e /source/blender/bmesh/intern/bmesh_queries.c | |
parent | 9dcd7f3b0b55e49a18296a67863368a0c4fca8b0 (diff) |
add fallbacks for BM_vert_calc_shell_factor() and BM_vert_calc_mean_tagged_edge_length() to avoid divide by zero when a vertex has no connected geometry.
also style cleanup.
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_queries.c')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_queries.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/source/blender/bmesh/intern/bmesh_queries.c b/source/blender/bmesh/intern/bmesh_queries.c index ed36a86274c..8eb87cf29be 100644 --- a/source/blender/bmesh/intern/bmesh_queries.c +++ b/source/blender/bmesh/intern/bmesh_queries.c @@ -1024,7 +1024,12 @@ float BM_vert_calc_shell_factor(BMVert *v) accum_angle += face_angle; } - return accum_shell / accum_angle; + if (accum_angle != 0.0f) { + return accum_shell / accum_angle; + } + else { + return 1.0f; + } } /** @@ -1045,7 +1050,12 @@ float BM_vert_calc_mean_tagged_edge_length(BMVert *v) } } - return length / (float)tot; + if (tot) { + return length / (float)tot; + } + else { + return 0.0f; + } } |