PolyConnectivity: Support edge split in the presence of valence-1 vertices.

This commit is contained in:
Martin Heistermann
2025-04-07 16:38:28 +02:00
parent eb2e6da9be
commit 92d0270066

View File

@@ -1113,9 +1113,14 @@ void PolyConnectivity::split_edge(EdgeHandle _eh, VertexHandle _vh)
set_next_halfedge_handle(new_e, h0); set_next_halfedge_handle(new_e, h0);
set_next_halfedge_handle(h1, opposite_halfedge_handle(new_e)); set_next_halfedge_handle(h1, opposite_halfedge_handle(new_e));
set_next_halfedge_handle(ph0, new_e); if (ph0 == h1) {
set_next_halfedge_handle(opposite_halfedge_handle(new_e), nh1); // valence one vfrom with p(h0) = opp(h0):
set_next_halfedge_handle(opposite_halfedge_handle(new_e), new_e);
} else {
// regular case
set_next_halfedge_handle(ph0, new_e);
set_next_halfedge_handle(opposite_halfedge_handle(new_e), nh1);
}
// set_prev_halfedge_handle(new_e, ph0); // set_prev_halfedge_handle(new_e, ph0);
// set_prev_halfedge_handle(opposite_halfedge_handle(new_e), h1); // set_prev_halfedge_handle(opposite_halfedge_handle(new_e), h1);