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
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-11-08 11:06:08 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-11-08 11:06:08 +0400
commit09cce17d847b3bddc4f82189e93002f131d0bec2 (patch)
tree9b8a73354e72aeca2589304d092f9c844c190270 /source
parent617a73c573c209155a2f5734030d1cc41e0d6a3d (diff)
decimator - merge flags when collapsing edges / verts, so seams and edges draw flags are kept.
Diffstat (limited to 'source')
-rw-r--r--source/blender/bmesh/intern/bmesh_decimate_collapse.c5
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);