PK_ERROR_code_t PK_FACE_split_at_param
(
--- received arguments ---
PK_FACE_t face, --- Target face
double param, --- parameter to split
PK_PARAM_direction_t param_dir, --- direction u or v
const PK_FACE_split_at_param_o_t *options, --- options
--- returned arguments ---
int *const n_new_edges, --- number of new edges
PK_EDGE_t **const new_edges, --- new edges
int *const n_new_faces, --- number of new faces
PK_FACE_t **const new_faces --- new faces
)
This function splits a face along constant parameter line
Specific Errors:
PK_ERROR_bad_parameter Supplied parameter is outside
face range.
PK_ERROR_not_on_face No new faces or edges created.
PK_ERROR_missing_geom face does not have geometry
PK_ERROR_cant_get_curve Failed to create isoparameter
curve
PK_ERROR_invalid_geometry curve does not pass checks
Introduction
The given face is split along specified constant u or v parameter line.
The parameter line is defined by U or V direction 'param_dir' argument
and 'param' value.
As a result new edges and faces may be created. 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 parameter line.
If new_edges or new_faces arguments are set to NULL then only the number
of new edges and/or faces will be returned.
If given parameter line lies outside or coincident with face boundary, no
new edges or faces will be created and error 'PK_ERROR_not_on_face' will
be raised.
Split Options
Option structure argument 'PK_FACE_split_at_param_o_t* options' is reserved for
future enhancements.