Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-08-02 17:35:04 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-08-02 17:35:04 +0400
commitc17f5960df41106a9d21b95dfdf54dbb505cbc71 (patch)
treec42de0c97ee09581a7453f83b70ced2451a59633 /source/blender/bmesh/operators/bmo_join_triangles.c
parentefe690a3a5a53e7857838236159f6b1a41e48bd8 (diff)
correct error in own recent edits to triangle joining
Diffstat (limited to 'source/blender/bmesh/operators/bmo_join_triangles.c')
-rw-r--r--source/blender/bmesh/operators/bmo_join_triangles.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/source/blender/bmesh/operators/bmo_join_triangles.c b/source/blender/bmesh/operators/bmo_join_triangles.c
index 5ee03b8a541..12065743136 100644
--- a/source/blender/bmesh/operators/bmo_join_triangles.c
+++ b/source/blender/bmesh/operators/bmo_join_triangles.c
@@ -220,14 +220,15 @@ void bmo_join_triangles_exec(BMesh *bm, BMOperator *op)
/* flag all edges of all input face */
BMO_ITER (f, &siter, op->slots_in, "faces", BM_FACE) {
- BMO_elem_flag_enable(bm, f, FACE_INPUT);
+ if (f->len == 3) {
+ BMO_elem_flag_enable(bm, f, FACE_INPUT);
+ }
}
/* flag edges surrounded by 2 flagged triangles */
BM_ITER_MESH (e, &iter, bm, BM_EDGES_OF_MESH) {
BMFace *f_a, *f_b;
if (BM_edge_face_pair(e, &f_a, &f_b) &&
- (f_a->len == 3 && f_b->len == 3) &&
(BMO_elem_flag_test(bm, f_a, FACE_INPUT) && BMO_elem_flag_test(bm, f_b, FACE_INPUT)))
{
BMO_elem_flag_enable(bm, e, EDGE_MARK);
@@ -307,9 +308,11 @@ void bmo_join_triangles_exec(BMesh *bm, BMOperator *op)
continue;
BM_edge_face_pair(e, &f_a, &f_b); /* checked above */
- f_new = BM_faces_join_pair(bm, f_a, f_b, e, true);
- if (f_new) {
- BMO_elem_flag_enable(bm, f_new, FACE_OUT);
+ if ((f_a->len == 3 && f_b->len == 3)) {
+ f_new = BM_faces_join_pair(bm, f_a, f_b, e, true);
+ if (f_new) {
+ BMO_elem_flag_enable(bm, f_new, FACE_OUT);
+ }
}
}