 |
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.