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.

See here for an illustration.