diff options
author | Campbell Barton <ideasman42@gmail.com> | 2016-07-05 11:45:16 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2016-07-05 20:47:18 +0300 |
commit | 037aa544cca18cfef4fa03feac9d88e32332173b (patch) | |
tree | d7f042a786156e510048f2c031934d038020c077 /source/blender/blenkernel/intern/pbvh_bmesh.c | |
parent | 06c1e782b0269e61dfbce3ae3665f959eb2759c2 (diff) |
Dyntopo: missing PBVH update collapsing an edge
PBVH-nodes attached to the vertex to be deleted were updated,
but not nodes attached to the other vertex in the edge.
Diffstat (limited to 'source/blender/blenkernel/intern/pbvh_bmesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/pbvh_bmesh.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/pbvh_bmesh.c b/source/blender/blenkernel/intern/pbvh_bmesh.c index 6cbc3f24039..b99e0d56394 100644 --- a/source/blender/blenkernel/intern/pbvh_bmesh.c +++ b/source/blender/blenkernel/intern/pbvh_bmesh.c @@ -1299,6 +1299,14 @@ static void pbvh_bmesh_collapse_edge( mid_v3_v3v3(v_conn->co, v_conn->co, v_del->co); add_v3_v3(v_conn->no, v_del->no); normalize_v3(v_conn->no); + + /* update boundboxes attached to the connected vertex + * note that we can often get-away without this but causes T48779 */ + BM_LOOPS_OF_VERT_ITER_BEGIN(l, v_conn) { + PBVHNode *f_node = pbvh_bmesh_node_from_face(bvh, l->f); + f_node->flag |= PBVH_UpdateDrawBuffers | PBVH_UpdateNormals | PBVH_UpdateBB; + } + BM_LOOPS_OF_VERT_ITER_END; } /* Delete v_del */ |