diff options
author | Campbell Barton <ideasman42@gmail.com> | 2021-04-12 07:24:09 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2021-04-12 07:24:09 +0300 |
commit | 2a14ab998a576df6ba1fa5dc2c680d9078e58f81 (patch) | |
tree | 59505a2ac547eada0777ae23bdcedaa6f99f10ee /source/blender/bmesh/operators | |
parent | 3a05135e12415c202e3fe7d69f3722c3711a3701 (diff) |
Fix T87259: Un-Subdivide creates duplicate faces
Add argument to BM_vert_collapse_faces to remove any faces that become
duplicate as result of the collapse.
Diffstat (limited to 'source/blender/bmesh/operators')
-rw-r--r-- | source/blender/bmesh/operators/bmo_dissolve.c | 6 | ||||
-rw-r--r-- | source/blender/bmesh/operators/bmo_offset_edgeloops.c | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/bmesh/operators/bmo_dissolve.c b/source/blender/bmesh/operators/bmo_dissolve.c index da2603ad8cd..6723c0f7cb0 100644 --- a/source/blender/bmesh/operators/bmo_dissolve.c +++ b/source/blender/bmesh/operators/bmo_dissolve.c @@ -242,7 +242,7 @@ void bmo_dissolve_faces_exec(BMesh *bm, BMOperator *op) BM_ITER_MESH_MUTABLE (v, v_next, &viter, bm, BM_VERTS_OF_MESH) { if (BMO_vert_flag_test(bm, v, VERT_MARK)) { if (BM_vert_is_edge_pair(v)) { - BM_vert_collapse_edge(bm, v->e, v, true, true); + BM_vert_collapse_edge(bm, v->e, v, true, true, true); } } } @@ -355,7 +355,7 @@ void bmo_dissolve_edges_exec(BMesh *bm, BMOperator *op) BM_ITER_MESH_MUTABLE (v, v_next, &iter, bm, BM_VERTS_OF_MESH) { if (BMO_vert_flag_test(bm, v, VERT_MARK)) { if (BM_vert_is_edge_pair(v)) { - BM_vert_collapse_edge(bm, v->e, v, true, true); + BM_vert_collapse_edge(bm, v->e, v, true, true, true); } } } @@ -462,7 +462,7 @@ void bmo_dissolve_verts_exec(BMesh *bm, BMOperator *op) /* final cleanup */ BMO_ITER (v, &oiter, op->slots_in, "verts", BM_VERT) { if (BM_vert_is_edge_pair(v)) { - BM_vert_collapse_edge(bm, v->e, v, false, true); + BM_vert_collapse_edge(bm, v->e, v, false, true, true); } } diff --git a/source/blender/bmesh/operators/bmo_offset_edgeloops.c b/source/blender/bmesh/operators/bmo_offset_edgeloops.c index d723e128bf1..2c7e478b549 100644 --- a/source/blender/bmesh/operators/bmo_offset_edgeloops.c +++ b/source/blender/bmesh/operators/bmo_offset_edgeloops.c @@ -263,7 +263,7 @@ void bmo_offset_edgeloops_exec(BMesh *bm, BMOperator *op) } while ((v = STACK_POP(varr))) { - bmesh_kernel_join_edge_kill_vert(bm, v->e, v, true, false, false); + bmesh_kernel_join_edge_kill_vert(bm, v->e, v, true, false, false, true); } } } |