 |
PK_BCURVE_fit_chain_t |
|
struct PK_BCURVE_fit_chain_s
{
int n_curves_in_chain; --- number of curves in this chain (0)
PK_CURVE_t *curves_in_chain; --- curves in the chain (NULL)
PK_INTERVAL_t *curve_intervals; --- parameter intervals for each
--- chain-curve (NULL)
double *fit_parameters; --- parameters for bcurve at ends
--- of each chain-curve (NULL)
};
typedef struct PK_BCURVE_fit_chain_s PK_BCURVE_fit_chain_t;
This structure contains the data to define a "chain" for the chain-of-curves
evaluator function.
Used in:
PK_BCURVE_fit_eval_data_t
This structure contains the following fields:
'n_curves_in_chain' The number of curves in the chain.
'curves_in_chain' An ordered array of 'n_curves_in_chain' curves.
'curve_intervals' A parallel array of parameter intervals on the curves
denoting the sections of the curves that make up the
chain. Together with the 'curves_in_chain' field this
specifies a chain of trimmed curves.
'fit_parameters' A strictly increasing array of 'n_curves_in_chain' + 1
doubles representing the parameters for the fitting
bcurves at the end points of the trimmed curves. If
the curve-chain is periodic then the last value of
'fit_parameters' should be equal to the first plus the
required period.
A chain is a connected set of trimmed curves defined by an ordered array of
curves and a matching array of parameter intervals. The curves should meet
each other with G1 continuity at the points specified by the parameter
intervals. Each curve should be oriented so that its parameter increases
in the forward direction along the chain.
The parameterisation of the fitted bcurve with respect to the chain
is defined by the 'fit_parameters' field. The fit-parameters specify the
parameter values taken by the fitted bcurve at the ends of each of the trimmed
curves. Evaluation at the intermediate parameters on the bcurve is by cubic
interpolation of the chain-curve parameterisation between the fit-parameters.
If a set of break-parameters is provided to PK_BCURVE_create_by_fitting then
each of these break-parameters must lie at the end of a trimmed curve and the
corresponding fit-parameter must equal the break-parameter.