diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-11-08 11:06:08 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-11-08 11:06:08 +0400 |
commit | 09cce17d847b3bddc4f82189e93002f131d0bec2 (patch) | |
tree | 9b8a73354e72aeca2589304d092f9c844c190270 | |
parent | 617a73c573c209155a2f5734030d1cc41e0d6a3d (diff) |
decimator - merge flags when collapsing edges / verts, so seams and edges draw flags are kept.
-rw-r--r-- | source/blender/bmesh/intern/bmesh_decimate_collapse.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/bmesh/intern/bmesh_decimate_collapse.c b/source/blender/bmesh/intern/bmesh_decimate_collapse.c index 15f774e50a8..74792d1d558 100644 --- a/source/blender/bmesh/intern/bmesh_decimate_collapse.c +++ b/source/blender/bmesh/intern/bmesh_decimate_collapse.c @@ -760,8 +760,11 @@ static int bm_edge_collapse(BMesh *bm, BMEdge *e_clear, BMVert *v_clear, int r_e BM_edge_kill(bm, e_clear); + v_other->head.hflag |= v_clear->head.hflag; BM_vert_splice(bm, v_clear, v_other); + e_a_other[1]->head.hflag |= e_a_other[0]->head.hflag; + e_b_other[1]->head.hflag |= e_b_other[0]->head.hflag; BM_edge_splice(bm, e_a_other[0], e_a_other[1]); BM_edge_splice(bm, e_b_other[0], e_b_other[1]); @@ -806,8 +809,10 @@ static int bm_edge_collapse(BMesh *bm, BMEdge *e_clear, BMVert *v_clear, int r_e BM_edge_kill(bm, e_clear); + v_other->head.hflag |= v_clear->head.hflag; BM_vert_splice(bm, v_clear, v_other); + e_a_other[1]->head.hflag |= e_a_other[0]->head.hflag; BM_edge_splice(bm, e_a_other[0], e_a_other[1]); // BM_mesh_validate(bm); |