PK_VERTEX_euler_split   


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.