PK_BCURVE_ask_splinewise   

PK_ERROR_code_t                  PK_BCURVE_ask_splinewise
(
--- received arguments ---
PK_BCURVE_t                      bcurve,  --- b-curve

--- returned arguments ---
PK_BCURVE_splinewise_sf_t *const bcurve_splinewise_sf
                                          --- b-curve splinewise standard form
)


This function returns the splinewise standard form of a b-curve.


Specific Errors:
    PK_ERROR_unsuitable_entity      degree of curve is greater than 3 or
                                    degree is less than 3 and curve has more
                                    than one segment
    PK_ERROR_bad_knots              curve has unsuitable knot vector


Takes a b-curve and returns its splinewise standard form.
Refer to the documentation of PK_BCURVE_splinewise_sf_t.

Not all b-curves have a splinewise standard form.  All b-curves created by
PK_BCURVE_create_splinewise have splinewise standard forms.  The following
conditions are required for a curve to have a splinewise standard form:

  - it must be of cubic or lower degree.
  - it must be non-rational.
  - it must have continuous first and second derivatives (note that for a
    linear or quadratic curve to satisfy these continuity requirements it may
    only have one segment).
  - if the curve is periodic it must not have any repeated knots.
  - if the curve is non-periodic it may only have repeated knots at the ends.