 |
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.