PK_ERROR_code_t PK_EDGE_euler_open_zip ( --- received arguments --- PK_EDGE_t edge, --- Edge to split PK_FIN_t fin, --- Fin at vertex to split --- returned arguments --- PK_VERTEX_t *const new_vertex, --- New vertex created PK_EDGE_t *const new_edge --- New edge created ) This function splits an edge lengthwise, replacing it with two edges joined at one end. Specific Errors: PK_ERROR_edge_not_manifold edge not manifold PK_ERROR_edge_not_open edge not open PK_ERROR_vertex_not_manifold a vertex of edge is not manifold PK_ERROR_no_common_vertex fin doesn't point to a vertex of edge edge must be open, manifold and both its vertices must be manifold. The forward vertex of fin must be one of the vertices of edge but fin must not be one of edges fins. After the operation the forward fin of fin is a fin of edge and the forward vertex of fin is an original vertex. The new edge will have the same direction as the original. 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_close_zip