PK_ERROR_code_t PK_VERTEX_euler_split
(
--- received arguments ---
PK_VERTEX_t vertex, --- Vertex to be split
PK_FIN_t fin1, --- First fin at vertex
PK_FIN_t fin2, --- Second fin at vertex
--- returned arguments ---
PK_VERTEX_t *const new_vertex, --- New vertex created
PK_EDGE_t *const new_edge --- New edge created
)
This function splits a vertex, replacing it with an edge.
Specific Errors:
PK_ERROR_fins_not_distinct fin1 and fin2 are the same
PK_ERROR_vertex_not_manifold vertex is non-manifold
PK_ERROR_no_common_vertex the forward vertices of fin1 and fin2
are not the same
fin1 and fin2 must be distinct fins which share a common forward vertex,
which must be manifold.
The edges of the vertex will be split into two groups which are attached to
either vertex or new_vertex. After the operation the forward fins of
fin1 and fin2 will be the fins of new_edge. new_vertex will be the
forward vertex of fin1
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_merge_vertices.