Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/pbvh_bmesh.c
| Show First 20 Lines • Show All 1,162 Lines • ▼ Show 20 Lines | for (int i = 0; i < edge_loops->count; i++) { | ||||
| v1 = l_adj->v; | v1 = l_adj->v; | ||||
| v2 = l_adj->next->v; | v2 = l_adj->next->v; | ||||
| if (ni != node_index && i == 0) { | if (ni != node_index && i == 0) { | ||||
| pbvh_bmesh_vert_ownership_transfer(pbvh, &pbvh->nodes[ni], v_new); | pbvh_bmesh_vert_ownership_transfer(pbvh, &pbvh->nodes[ni], v_new); | ||||
| } | } | ||||
| /** | /** | ||||
| * The 2 new faces created and assigned to ``f_new`` have their | * The 2 new faces created and assigned to `f_new` have their | ||||
| * verts & edges shuffled around. | * verts & edges shuffled around. | ||||
| * | * | ||||
| * - faces wind anticlockwise in this example. | * - faces wind anticlockwise in this example. | ||||
| * - original edge is ``(v1, v2)`` | * - original edge is `(v1, v2)` | ||||
| * - original face is ``(v1, v2, v3)`` | * - original face is `(v1, v2, v3)` | ||||
| * | * | ||||
| * <pre> | * <pre> | ||||
| * + v3(v_opp) | * + v3(v_opp) | ||||
| * /|\ | * /|\ | ||||
| * / | \ | * / | \ | ||||
| * / | \ | * / | \ | ||||
| * e4/ | \ e3 | * e4/ | \ e3 | ||||
| * / |e5 \ | * / |e5 \ | ||||
| * / | \ | * / | \ | ||||
| * / e1 | e2 \ | * / e1 | e2 \ | ||||
| * +-------+-------+ | * +-------+-------+ | ||||
| * v1 v4(v_new) v2 | * v1 v4(v_new) v2 | ||||
| * (first) (second) | * (first) (second) | ||||
| * </pre> | * </pre> | ||||
| * | * | ||||
| * - f_new (first): ``v_tri=(v1, v4, v3), e_tri=(e1, e5, e4)`` | * - 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)`` | * - f_new (second): `v_tri=(v4, v2, v3), e_tri=(e2, e3, e5)` | ||||
| */ | */ | ||||
| /* Create two new faces */ | /* Create two new faces */ | ||||
| v_tri[0] = v1; | v_tri[0] = v1; | ||||
| v_tri[1] = v_new; | v_tri[1] = v_new; | ||||
| v_tri[2] = v_opp; | v_tri[2] = v_opp; | ||||
| bm_edges_from_tri(pbvh->bm, v_tri, e_tri); | bm_edges_from_tri(pbvh->bm, v_tri, e_tri); | ||||
| f_new = pbvh_bmesh_face_create(pbvh, ni, v_tri, e_tri, f_adj); | f_new = pbvh_bmesh_face_create(pbvh, ni, v_tri, e_tri, f_adj); | ||||
| ▲ Show 20 Lines • Show All 1,156 Lines • Show Last 20 Lines | |||||