PK_CURVE_make_bcurve_array_o_t   

struct PK_CURVE_make_bcurve_array_o_s
    {
    int                     o_t_version;  --- option structure version
    double                  tolerance;    --- max deviation of input curve
                                          --- from output B-curve (1.0e-5)
    PK_LOGICAL_t            have_degree;  --- whether a degree is
                                          --- specified (PK_LOGICAL_false) [NF]
    int                     degree;       --- degree of output B-curves
                                          --- (= 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
                                          --- (PK_continuity_c1_c) [NF]
    PK_LOGICAL_t            force_non_rational;
                                          --- whether output B-curves should
                                          --- be non-rational
                                          --- (PK_LOGICAL_false)
    PK_LOGICAL_t            force_bezier; --- whether output B-curves should
                                          --- be piecewise Bezier
                                          --- (PK_LOGICAL_false)
    PK_ITEM_t               destination;  --- destination for B-curves
                                          --- (PK_ITEM_null)
    };

typedef struct PK_CURVE_make_bcurve_array_o_s
                PK_CURVE_make_bcurve_array_o_t;


This options structure holds optional controls for PK_CURVE_make_bcurve_array.


Specific Errors:
    PK_ERROR_bad_order             (MILD)  'degree' is invalid.
    PK_ERROR_facet_geometry        (MILD)  'curves' contains a polyline
                                           and 'have_degree' or
                                           'force_continuity' has been set
                                           to a value that is not supported
                                           for polylines.


Used in:

PK_CURVE_make_bcurve_array


Description of fields:

'tolerance'             If an approximation of any 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 B-curves
                        is supplied through the 'degree' option. If
                        PK_LOGICAL_false, the degree will depend upon the input
                        curves - see the documentation for
                        PK_CURVE_make_bcurve_array for details.
                        Note: this option must be set to PK_LOGICAL_false if
                        any input curve is a polyline.

'degree'                The desired degree of the resulting B-curves.
                        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 curves 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 curves 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 curves 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 any input curve is a
                        polyline.

'continuity'            The desired continuity of the resulting B-curves.
                        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, B-curves are forced to be
                        non-rational, otherwise their rationality will depend
                        on the input curves.

'force_bezier'          If set to PK_LOGICAL_true, the resulting B-curves are
                        forced to be piecewise-Bezier.

'destination'           This option specifies the destination for the resulting
                        B-curves.
                        It can be a partition, PK_PARTITION_t, or a part,
                        PK_PART_t, but no other PK_ITEM_t. Alternatively it
                        may be set to PK_ITEM_null (default).
                          o  If 'destination' is a partition, the B-curves will
                             be orphan geometry in that partition.
                          o  If 'destination' is a part, the B-curves will be
                             construction geometry in that part.
                          o  If 'destination' is PK_ITEM_null, the B-curves
                             will be orphan geometry in the current partition.