diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-03-05 05:53:30 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-03-05 05:53:30 +0400 |
commit | 4b940364a1dee78acdfe1ec319b35bb812faee29 (patch) | |
tree | 3097b5de3402f23260fcddaeffb02e6752654257 /source/blender/bmesh/operators/bmo_join_triangles.c | |
parent | 4d84e869a0fd540247a99edbfeca24ffb75644cd (diff) |
edge rotate now keeps edge properties (like seam, crease, bevel weight.. etc)
Diffstat (limited to 'source/blender/bmesh/operators/bmo_join_triangles.c')
-rw-r--r-- | source/blender/bmesh/operators/bmo_join_triangles.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/source/blender/bmesh/operators/bmo_join_triangles.c b/source/blender/bmesh/operators/bmo_join_triangles.c index 76e64aee821..433b91c198e 100644 --- a/source/blender/bmesh/operators/bmo_join_triangles.c +++ b/source/blender/bmesh/operators/bmo_join_triangles.c @@ -251,14 +251,11 @@ void bmo_join_triangles_exec(BMesh *bm, BMOperator *op) if (!BMO_elem_flag_test(bm, e, EDGE_MARK)) continue; - if (BM_edge_face_count(e) != 2) { + if (!BM_edge_face_pair(e, &f1, &f2)) { BMO_elem_flag_disable(bm, e, EDGE_MARK); continue; } - f1 = e->l->f; - f2 = e->l->radial_next->f; - if (f1->len != 3 || f2->len != 3) { BMO_elem_flag_disable(bm, e, EDGE_MARK); continue; @@ -332,10 +329,9 @@ void bmo_join_triangles_exec(BMesh *bm, BMOperator *op) if (!BMO_elem_flag_test(bm, e, EDGE_CHOSEN)) continue; - f1 = e->l->f; - f2 = e->l->radial_next->f; - BM_faces_join_pair(bm, f1, f2, e); + BM_edge_face_pair(e, &f1, &f2); /* checked above */ + BM_faces_join_pair(bm, f1, f2, e, TRUE); } BM_ITER(e, &iter, bm, BM_EDGES_OF_MESH, NULL) { @@ -367,7 +363,7 @@ void bmo_join_triangles_exec(BMesh *bm, BMOperator *op) continue; } - BM_faces_join_pair(bm, f1, f2, e); + BM_faces_join_pair(bm, f1, f2, e, TRUE); } } |