From 919de1e4c91d69938cfb8eed1deed26c867fcdcf Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 13 Apr 2015 15:42:00 +1000 Subject: BMesh: diagram for dyntopo edge subdiv --- source/blender/blenkernel/intern/pbvh_bmesh.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'source/blender/blenkernel/intern') 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) + * + *
+		 *         + 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)
+		 * 
+ */ + /* Create two new faces */ v_tri[0] = v1; v_tri[1] = v_new; -- cgit v1.2.3