PK_LOOP_euler_make_edge_face   


PK_ERROR_code_t  PK_LOOP_euler_make_edge_face
(
--- received arguments ---
PK_LOOP_t        loop,      --- Loop of face
PK_FIN_t         fin1,      --- Fin at first vertex to join
PK_FIN_t         fin2,      --- Fin at second vertex to join

--- returned arguments ---
PK_FACE_t *const new_face,  --- New face created
PK_EDGE_t *const new_edge   --- New edge created
)


This function joins two vertices in the same loop, creating a new face.


Specific Errors:
    PK_ERROR_fin_not_in_loop    One of the fins is not in loop
    PK_ERROR_edge_is_ring       There are no vertices in loop


loop may be isolated in which case fin1 and fin2 must be PK_ENTITY_null.
Otherwise the forward fin of fin1 will be a fin of the new edge.  new_face
will be on the right of the new_edge.

The new edge will not have any geometry attached and therefore the result of
this operation will be an invalid body.  Any other loops in the original face
will remain in that face and may need to be transferred later.

The inverse of this function is PK_EDGE_euler_delete_with_face.