Changeset View
Changeset View
Standalone View
Standalone View
source/blender/bmesh/tools/bmesh_intersect.c
| Show First 20 Lines • Show All 1,199 Lines • ▼ Show 20 Lines | # endif | ||||
| if (BM_vert_in_edge(e, v_prev)) { | if (BM_vert_in_edge(e, v_prev)) { | ||||
| BMEdge *e_split; | BMEdge *e_split; | ||||
| v_prev = BM_edge_split(bm, e, v_prev, &e_split, clamp_f(fac, 0.0f, 1.0f)); | v_prev = BM_edge_split(bm, e, v_prev, &e_split, clamp_f(fac, 0.0f, 1.0f)); | ||||
| BLI_assert(BM_vert_in_edge(e, v_end)); | BLI_assert(BM_vert_in_edge(e, v_end)); | ||||
| if (!BM_edge_exists(v_prev, vi) && !BM_vert_splice_check_double(v_prev, vi) && | if (!BM_edge_exists(v_prev, vi) && !BM_vert_splice_check_double(v_prev, vi) && | ||||
| !BM_vert_pair_share_face_check(v_prev, vi)) { | !BM_vert_pair_share_face_check(v_prev, vi)) { | ||||
| # ifdef USE_DISSOLVE | |||||
| BLI_assert(!BM_elem_flag_test(v_prev, BM_ELEM_TAG)); | |||||
| if (BM_elem_flag_test(vi, BM_ELEM_TAG)) { | |||||
| /* Untag since it is no longer a vertex to dissolve. */ | |||||
| BM_elem_flag_disable(vi, BM_ELEM_TAG); | |||||
| } | |||||
| # endif | |||||
| BM_vert_splice(bm, vi, v_prev); | BM_vert_splice(bm, vi, v_prev); | ||||
| } | } | ||||
| else { | else { | ||||
| copy_v3_v3(v_prev->co, vi->co); | copy_v3_v3(v_prev->co, vi->co); | ||||
| } | } | ||||
| v_prev = vi; | v_prev = vi; | ||||
| if (is_wire) { | if (is_wire) { | ||||
| BLI_gset_insert(s.wire_edges, e_split); | BLI_gset_insert(s.wire_edges, e_split); | ||||
| ▲ Show 20 Lines • Show All 432 Lines • Show Last 20 Lines | |||||