diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-09-15 11:14:17 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-09-15 11:14:17 +0300 |
commit | c5940874884e5c20e2e2f1bb07dc962f13b5bd1e (patch) | |
tree | dfb05adea8bfde5ac97f07e6ed19e00cb528dcb2 /source/blender/bmesh/tools/bmesh_beautify.c | |
parent | fdb8e17936a0abfbb61b71ae9a0061405ab7e2c4 (diff) |
Polyfill Beautify: option to rotate out of degenerate state
Needed for 3D iterative edge-rotation to avoid flipping when projected
from different angles,
but could keep zero area faces in 2D polygons.
Diffstat (limited to 'source/blender/bmesh/tools/bmesh_beautify.c')
-rw-r--r-- | source/blender/bmesh/tools/bmesh_beautify.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/bmesh/tools/bmesh_beautify.c b/source/blender/bmesh/tools/bmesh_beautify.c index f08f21a2c88..78e3e66b70a 100644 --- a/source/blender/bmesh/tools/bmesh_beautify.c +++ b/source/blender/bmesh/tools/bmesh_beautify.c @@ -182,7 +182,12 @@ static float bm_edge_calc_rotate_beauty__area( } } - return BLI_polyfill_beautify_quad_rotate_calc(v1_xy, v2_xy, v3_xy, v4_xy); + /** + * Important to lock degenerate here, + * since the triangle pars will be projected into different 2D spaces. + * Allowing to rotate out of a degenerate state can flip the faces (when performed iteratively). + */ + return BLI_polyfill_beautify_quad_rotate_calc_ex(v1_xy, v2_xy, v3_xy, v4_xy, true); } while (false); return FLT_MAX; |