diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-04-13 08:42:00 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-04-13 08:43:25 +0300 |
commit | 919de1e4c91d69938cfb8eed1deed26c867fcdcf (patch) | |
tree | 22a3c6c0d103caad10842ed94b80b6d3b6a2dc1b /source | |
parent | 9b359c1592057ae9296b4f0a4b543b1b783a232c (diff) |
BMesh: diagram for dyntopo edge subdiv
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/pbvh_bmesh.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/pbvh_bmesh.c b/source/blender/blenkernel/intern/pbvh_bmesh.c index 26d3a1e14ba..7daea181599 100644 --- a/source/blender/blenkernel/intern/pbvh_bmesh.c +++ b/source/blender/blenkernel/intern/pbvh_bmesh.c @@ -810,6 +810,32 @@ static void pbvh_bmesh_split_edge(EdgeQueueContext *eq_ctx, PBVH *bvh, if (ni != node_index && i == 0) pbvh_bmesh_vert_ownership_transfer(bvh, &bvh->nodes[ni], v_new); + /** + * The 2 new faces created and assigned to ``f_new`` have their + * verts & edges shuffled around. + * + * - faces wind anticlockwise in this example. + * - original edge is (v1, v2) + * - oroginal face is (v1, v2, v3) + * + * <pre> + * + v3(v_opp) + * /|\ + * / | \ + * / | \ + * e4/ | \e3 + * / |e5 \ + * / | \ + * / e1 | e2 \ + * +-------+-------+ + * v1 v4(v_new) v2 + * (first) (second) + * + * - f_new (first): v_tri=(v1, v4, v3), e_tri=(e1, e5, e4) + * - f_new (second): v_tri=(v4, v2, v3), e_tri=(e2, e3, e5) + * </pre> + */ + /* Create two new faces */ v_tri[0] = v1; v_tri[1] = v_new; |