diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-03-05 04:50:18 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-03-05 04:50:18 +0400 |
commit | 4d84e869a0fd540247a99edbfeca24ffb75644cd (patch) | |
tree | 09c2b88dce2b66316f5e17d969170fdfd0cffbbc /source/blender/bmesh/operators/bmo_triangulate.c | |
parent | 5f509134ec22102cb00fdc9a623798c149fa43a9 (diff) |
Improvements to bmesh edge rotate
On a user level, edge rotate now works better with multiple edges selected, it wont make zero area faces or rotate edges into existing ones.
With a single edge selected - rotate is less strict and will allow ugly resulting faces but still checks on duplicate edges.
API:
* BM_edge_rotate now takes a flag, to optionally...
** check for existing edge
** splice edge (rotate and merge)
** check for degenerate resulting faces (overlapping geometry, zero area)
** beauty - only rotate to a better fit.
... this allows it to still be used as a low level API function since all checks can be skipped.
* BM_edge_rotate() now works a bit different, it find the new edge rotation before joining the faces - exposed by BM_edge_rotate_calc().
* Added api call bmesh_radial_faceloop_find_vert() - Radial Find a Vertex Loop in Face
Diffstat (limited to 'source/blender/bmesh/operators/bmo_triangulate.c')
-rw-r--r-- | source/blender/bmesh/operators/bmo_triangulate.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/bmesh/operators/bmo_triangulate.c b/source/blender/bmesh/operators/bmo_triangulate.c index 2029d595af7..63837b7e087 100644 --- a/source/blender/bmesh/operators/bmo_triangulate.c +++ b/source/blender/bmesh/operators/bmo_triangulate.c @@ -139,7 +139,7 @@ void bmo_beautify_fill_exec(BMesh *bm, BMOperator *op) fac2 = opp1 / (len2 + len3 + len6) + opp2 / (len4 + len1 + len6); if (fac1 > fac2) { - e = BM_edge_rotate(bm, e, FALSE); + e = BM_edge_rotate(bm, e, FALSE, BM_EDGEROT_CHECK_EXISTS); if (e) { BMO_elem_flag_enable(bm, e, ELE_NEW); |