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.

See here for an illustration.