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.