 |
PK_EDGE_euler_close_zip |
|
PK_ERROR_code_t PK_EDGE_euler_close_zip
(
--- received arguments ---
PK_EDGE_t edge1, --- Edge to zip
PK_EDGE_t edge2 --- Edge to delete
)
This function "zips" two edges together by merging the vertices at either end.
Specific Errors:
PK_ERROR_edge_not_manifold 'edge1' or 'edge2' is not manifold (MILD)
PK_ERROR_edge_not_open 'edge1' or 'edge2' is closed (MILD)
PK_ERROR_bad_vertex 'edge1' or 'edge2' has a bad vertex (MILD)
PK_ERROR_no_common_vertex 'edge1' and 'edge2' have no common
vertex (MILD)
PK_ERROR_bad_edge 'edge1' and 'edge2' have both vertices
in common (MILD)
This function "zips" the two edges together into one. Both 'edge1' and 'edge2'
must be open, share exactly one vertex, be adjacent around a loop and have
valid vertices. Both edges must also be manifold although the vertices need
not be manifold.
If 'edge1' and 'edge2' are the only edges of their vertex, the right hand side
of 'edge1' will be zipped up.
Both vertices of 'edge1' will survive, the vertex of 'edge2' at the open end of
the zip will be deleted and 'edge2' will be deleted.
Any geometry on the deleted edge and vertex will also be deleted.
Any curves attached to fins of the loop shared by the edges will be deleted.
If 'edge2' is tolerant, the other fin curve of 'edge2' will be attached as a
fin curve to 'edge1'.
The resulting body will normally be invalid.
The inverse of this function is PK_EDGE_euler_open_zip.
See here for an illustration.