 |
PK_CURVE_make_bcurve_o_t |
|
struct PK_CURVE_make_bcurve_o_s
{
int o_t_version; --- option structure version
double tolerance; --- max deviation of 'curve'
--- from 'bcurve' (1.0e-5)
PK_LOGICAL_t have_degree; --- whether a degree is
--- specified (PK_LOGICAL_false) [NF]
int degree; --- degree of 'bcurve'
--- (= order-1) [NF]
PK_force_continuity_t force_continuity;
--- whether to force a certain
--- level of continuity
--- (PK_force_continuity_no_c) [NF]
PK_continuity_t continuity; --- level of continuity [NF]
PK_LOGICAL_t force_non_rational;
--- whether 'bcurve' should be
--- non-rational
--- (PK_LOGICAL_false)
PK_LOGICAL_t force_bezier; --- whether 'bcurve' should be
--- piecewise Bezier
--- (PK_LOGICAL_false)
PK_make_bcurve_update_t update; --- update flag
--- (PK_make_bcurve_update_default_c)
};
typedef struct PK_CURVE_make_bcurve_o_s PK_CURVE_make_bcurve_o_t;
This options structure holds optional controls for PK_CURVE_make_bcurve_2.
Used in:
PK_CURVE_make_bcurve_2
Description of fields:
'tolerance' If an approximation of the curve is produced, this
option specifies the maximum deviation between the
input and output curves. Note that the actual
achieved tolerance is returned as 'achieved_tol'.
'have_degree' Specifies whether the degree of the resulting 'bcurve'
is supplied through the 'degree' option. If
PK_LOGICAL_false, the degree will depend upon the input
curve - see the documentation for
PK_CURVE_make_bcurve_2 for details.
Note: this option must be set to PK_LOGICAL_false if
the input curve is a polyline.
'degree' The desired degree of the resulting 'bcurve'.
Currently the supported values are 2 (for quadratic
B-curves) and 3 (for cubics).
'force_continuity' This option allows a continuity level to be supplied
through the 'continuity' option, and also controls how
discontinuities of the input 'curve' will be handled.
It has the possible values:
o PK_force_continuity_yes_c
All discontinuities will be eliminated up to the
level specified by the 'continuity' option. The
parameterisation of the input curve may not be
preserved.
o PK_force_continuity_prefer_c
Small curve discontinuities will be eliminated, up
to the level specified by the 'continuity' option.
Any large discontinuities which are not removed will
be reported with a PK_REPORT_3_discontinuities_c
record. The parameterisation of the input curve may
not be preserved.
o PK_force_continuity_no_c
No attempt will be made to remove discontinuities,
and no report will be returned. The parameterisation
of the input curve will be preserved, except in the
case of exact representations of circles and
ellipses.
Note: this option must be set to
PK_force_continuity_no_c if the input curve is a
polyline.
'continuity' The desired continuity of the resulting 'bcurve'.
This is ignored if 'force_continuity' is set to
PK_force_continuity_no_c. The possible values are:
PK_continuity_c1_c
PK_continuity_c2_c
PK_continuity_g1_c
PK_continuity_g2_c
'force_non_rational' If set to PK_LOGICAL_true, 'bcurve' is forced to be
non-rational, otherwise its rationality will depend on
the input curve.
'force_bezier' If set to PK_LOGICAL_true, 'bcurve' is forced to be
piecewise-Bezier.
'update' The default value (PK_make_bcurve_update_default_c)
allows applications to take advantage of the latest
enhancements to the algorithm. To maintain consistency
when rebuilding models created in a previous version of
Parasolid, a non-default value should be specified.
Generated on: Fri, 04 Oct 2024 12:17:51 GMT