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