PK_CURVE_fix_self_int_o_t   

struct PK_CURVE_fix_self_int_o_s
    {
    int                    o_t_version;    --- version number of option
                                           --- structure
    PK_fix_method_t        fix_method;     --- method used to generate new
                                           --- curves
                                           --- (PK_fix_method_extract_c)
    PK_LOGICAL_t           allow_multiple; --- whether to allow multiple curves
                                           --- to be generated
                                           --- (PK_LOGICAL_true)
    double                 tolerance;      --- tolerance for approximating
                                           --- curves (1.0e-5)
    PK_LOGICAL_t           have_param;     --- whether a parameter is supplied
                                           --- (PK_LOGICAL_false)
    double                 param;          --- a parameter used to select the
                                           --- region of interest (0.0)
    PK_CURVE_fix_update_t  update;         --- update version
                                           --- (PK_CURVE_fix_update_default_c)
    };

typedef struct PK_CURVE_fix_self_int_o_s PK_CURVE_fix_self_int_o_t;



This structure holds optional controls for fixing self-intersections on a
curve.

Used in:

PK_CURVE_fix_self_int


The option structure for fixing self-intersections on a curve has the
following fields :

'fix_method'        If set to PK_fix_method_extract_c, then the function will
                    generate curves by extracting from the input 'curve'.
                    Regions of the curve which cannot be fixed by extracting
                    will be ignored.

                    If set to PK_fix_method_approx_c, then the function will
                    produce curves which are either exactly coincident with
                    'curve' or an approximation.
                    (PK_fix_method_extract_c)

'allow_multiple'    If set to PK_LOGICAL_false, then only a single curve will
                    be returned. If 'fix_method' is set to
                    PK_fix_method_extract_c, then the function will attempt to
                    extract a non-self-intersecting region from 'curve'. The
                    region extracted can be controlled with the 'have_param'
                    and 'param' options. If 'fix_method' is set to
                    PK_fix_method_approx_c, then the function will attempt to
                    generate a single approximation for the entire curve.

                    If set to PK_LOGICAL_true, then multiple curves may be
                    returned.
                    (PK_LOGICAL_true)

'tolerance'         The tolerance to be used when approximating curves.
                    (1.0e-5)

'have_param'        In some cases, there may be more than one valid region of
                    a curve. If set to PK_LOGICAL_true, then 'param' is used to
                    select the region of interest. The resultant curve(s) will
                    include the point at parameter 'param' on the input
                    'curve'. If set to PK_LOGICAL_false, then the resultant
                    curve(s) will include the point at the start of the
                    'curve'.
                    (PK_LOGICAL_false)

'param'             The parameter used to select the region of interest, if
                    'have_param' is set to PK_LOGICAL_true.
                    (0.0)

'update'            The default value allows applications to take advantage of
                    the latest enhancements to the curve fixing algorithm. To
                    maintain consistency when rebuilding models created in a
                    previous version of Parasolid, a non-default value should
                    be specified.
                    (PK_CURVE_fix_update_default_c)