 |
PK_BCURVE_create_spline_2 |
|
PK_ERROR_code_t PK_BCURVE_create_spline_2
(
--- received arguments ---
int n_positions, --- number of positions
const PK_VECTOR_t *positions, --- positions to spline
--- through
const PK_BCURVE_create_spline_2_o_t *options, --- options
--- returned arguments ---
PK_BCURVE_spline_r_t *const results --- results
)
This function creates one or more B-curves by splining through a set of
positions, with optional parameters and derivatives.
Specific Errors:
PK_ERROR_insufficient_points too few 'positions' have been supplied
(MILD)
PK_ERROR_bad_position a position is outside size box; or two or
more consecutive positions are coincident
and parameters have not been supplied for
them; or curve is periodic and start and
end are coincident without parameters
supplied (MILD)
PK_ERROR_bad_tolerance the proposed 'fit_tol' or 'chordal_tol' is
too small (MILD)
At least two distinct positions must be supplied.
Parameters and derivatives corresponding to the positions can be supplied
in the option structure, as can the degree, knotset and periodicity.
Consecutive coincident positions are only allowed if those positions have
parameters supplied for them. Similarly, if the curve is to be periodic, the
first and last 'positions' supplied can only be coincident if parameters are
supplied for them.
By default, a single B-curve will be returned, however multiple B-curves may
be created by supplying break points.
The resultant B-curve(s) will have (degree-1) continuity, except where a lower
continuity is implied by the multiplicity of a knot in a supplied knotset.
See here for more information about this function.