 |
PK_CURVE_make_bcurve_res_t |
|
struct PK_CURVE_make_bcurve_res_s
{
PK_CURVE_make_bcurve_t status;
PK_BCURVE_t bcurve;
double achieved_tol;
PK_achieved_cont_t achieved_cont;
};
typedef struct PK_CURVE_make_bcurve_res_s PK_CURVE_make_bcurve_res_t;
This structure holds the result of the conversion of a curve into a
B-curve.
Used in:
PK_CURVE_make_bcurve_array
It has the following fields:
'status': Token indicating whether the conversion to a B-curve was
successful or not and degree of success or reason for
failure.
Tokens that indicate success are:
PK_CURVE_make_bcurve_exact_c,
PK_CURVE_make_bcurve_approx_c,
PK_CURVE_make_bcurve_loose_c.
Tokens that indicate failure are:
PK_CURVE_make_bcurve_bad_cont_c,
PK_CURVE_make_bcurve_bad_int_c,
PK_CURVE_make_bcurve_failed_c.
'bcurve': Resultant B-curve. This may be PK_ENTITY_null
if the function failed to approximate the curve.
'achieved_tol': If 'status' is PK_CURVE_make_bcurve_loose_c, this will be
set to an upper bound for the maximum distance between
the input surf and the output bcurve. Otherwise it
should be ignored.
'achieved_cont': If 'force_continuity' is set to
PK_force_continuity_prefer_c, then it will be set to
indicate whether the preferred continuity has
been achieved. For other values of 'force_continuity',
it will always be set to PK_achieved_cont_yes_c.
'status' is set to PK_CURVE_make_bcurve_exact_c if the B-curve is an exact
representation of the input curve. Otherwise it will be set
to PK_CURVE_make_bcurve_approx_c if the resultant B-curve has been made within
the supplied 'tolerance', or PK_CURVE_make_bcurve_loose_c if the resultant
B-curve deviates by more than 'tolerance'. If the 'status' is
PK_CURVE_make_bcurve_loose_c, then 'achieved_tol' will be set to an upper bound
for the maximum distance between curve and B-curve. Otherwise it should be
ignored.