PK_BCURVE_remove_knots   

PK_ERROR_code_t                   PK_BCURVE_remove_knots
(
--- received arguments ---
PK_BCURVE_t                       bcurve,           --- b-curve
const PK_BCURVE_remove_knots_o_t *options,          --- options

--- returned arguments ---
int                        *const n_knots_removed,  --- number of knots removed
double                    **const knots_removed,    --- the knots removed
int                       **const multiplicities    --- the number of times
                                                    --- each knot was removed
)


This function modifies the given 'bcurve' by removing knots.


Specific Errors:
    PK_ERROR_is_attached        'bcurve' is attached to topology (MILD)
    PK_ERROR_illegal_owner      'bcurve' is owned by other geometry (MILD)
    PK_ERROR_bad_index          an entry in 'knot_indices' is out of range
                                (MILD)
    PK_ERROR_bad_value          an entry in 'remove_multiplicities' is too high
                                (MILD)
    PK_ERROR_bad_tolerance      'tolerance' is invalid (MILD)


This function modifies a b-curve by removing knots, if possible.

A b-curve cannot be modified if it is attached to topology or if it is owned
by other geometry.

The number of distinct knots removed, if any, is returned in
'n_knots_removed'.  The values of any knots that were removed will be returned
in 'knots_removed' and the number of times each of these knots was removed,
i.e. the decrease in its multiplicity, will be returned in 'multiplicities'.

See here for more information about modifying B-curves.