From 4b940364a1dee78acdfe1ec319b35bb812faee29 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 5 Mar 2012 01:53:30 +0000 Subject: edge rotate now keeps edge properties (like seam, crease, bevel weight.. etc) --- source/blender/bmesh/operators/bmo_join_triangles.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'source/blender/bmesh/operators/bmo_join_triangles.c') 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); } } -- cgit v1.2.3