PK_ERROR_code_t PK_EDGE_euler_open_zip
(
--- received arguments ---
PK_EDGE_t edge, --- Edge to split
PK_FIN_t fin, --- Fin at vertex to split
--- returned arguments ---
PK_VERTEX_t *const new_vertex, --- New vertex created
PK_EDGE_t *const new_edge --- New edge created
)
This function splits an edge lengthwise, replacing it with two edges
joined at one end.
Specific Errors:
PK_ERROR_edge_not_manifold edge not manifold
PK_ERROR_edge_not_open edge not open
PK_ERROR_vertex_not_manifold a vertex of edge is not manifold
PK_ERROR_no_common_vertex fin doesn't point to a vertex of edge
edge must be open, manifold and both its vertices must be manifold. The
forward vertex of fin must be one of the vertices of edge but fin must
not be one of edges fins.
After the operation the forward fin of fin is a fin of edge and the forward
vertex of fin is an original vertex. The new edge will have the same
direction as the original.
The new edge and vertex will not have any geometry attached and the resulting
body will be invalid.
The inverse of this function is PK_EDGE_euler_close_zip