PK_LOOP_euler_delete_make_edge
PK_ERROR_code_t PK_LOOP_euler_delete_make_edge ( --- received arguments --- PK_LOOP_t loop1, --- Loop of fin1 PK_FIN_t fin1, --- Fin at first vertex to join PK_LOOP_t loop2, --- Loop of fin2 PK_FIN_t fin2, --- Fin at second vertex to join --- returned arguments --- PK_EDGE_t *const new_edge ) This function merges two loops in the same face into one by joining their vertices with an edge. Specific Errors: PK_ERROR_fin_not_in_loop a fin is not in its respective loop PK_ERROR_loops_not_same_face loop1 and loop2 are not in the same face PK_ERROR_loops_not_distinct loop1 and loop2 are the same PK_ERROR_edge_is_ring loop1 or loop2 has no vertex PK_ERROR_loop_not_isolated a loop is isolated but fin is not PK_ENTITY_null This function joins two vertices in different loops of the same face with an edge. After the operation, the forward fins of fin1 and fin2 will be the fins of the new edge, loop1 will survive and loop2 will be deleted. loop1 may be isolated in which case fin1 must be PK_ENTITY_null. Similarly loop2 may also be isolated in which case fin2 must be PK_ENTITY_null. fin1 and fin2 may share a vertex or an edge. new_edge will not have any geometry attached and so the result of this operation will be an invalid body. The inverse of this function is PK_EDGE_euler_delete_make_loop.