PK_FACE_imprint_curve   

PK_ERROR_code_t   PK_FACE_imprint_curve
(
--- received arguments ---
PK_FACE_t         face,             --- face
PK_CURVE_t        curve,            --- curve
PK_INTERVAL_t     bounds,           --- bounds of curve

--- returned arguments ---
int        *const n_new_edges,      --- number of new edges
PK_EDGE_t **const new_edges,        --- new edges (optional)
int        *const n_new_faces,      --- number of new faces
PK_FACE_t **const new_faces         --- new faces (optional)
)


This function imprints a curve onto a face, thereby creating a new edge or
edges.

NOTE: This function is deprecated and has been superseded by
PK_FACE_imprint_curves_2.


Specific Errors:
    PK_ERROR_missing_geom           'face' does not have geometry
    PK_ERROR_not_on_surface         'curve' does not lie on 'face's surface
                                    or bounds not within face
    PK_ERROR_bad_basis_surf         SP curve basis surface differs from
                                    'face's surface.
    PK_ERROR_invalid_geometry       curve does not pass checks
    PK_ERROR_not_on_face            no new edges created
    PK_ERROR_cant_do_imprint        failed to imprint curve


If the 'curve' does not lie on the 'face's surface, then
the error PK_ERROR_not_on_surface is returned.

If none of the 'interval' of the 'curve' lies inside the 'face' i.e. no
new edges are created as a result of the imprint, then the error
PK_ERROR_not_on_face is returned.

Otherwise, each part of the 'interval' of the 'curve' which lies within the
'face' will be imprinted on the face as a new edge.  The new edges are returned
in 'new_edges', and the number of them in 'n_new_edges'.  The new edges may
split the face into several faces.  The new faces are returned in 'new_faces'
and the number of them in 'n_new_faces'.  If new faces are created, the old
face will lie on the right of one of the new edges, which will all go in the
direction of the curve.

Both the 'new_edges' and 'new_faces' arguments are optional.  If they are set
to NULL then only the number of new edges and/or faces will be returned.

If 'curve' was an orphan, then it will be attached to the new edge(s).  If
'curve' may be shared with the new edge(s) then it will be.  Otherwise
a copy of the curve will be made and attached to the new edge(s).  When
several new edges are created by imprinting one curve, then all of the edges
will share the same geometry.