PK_boolean_match_o_t   

struct PK_boolean_match_o_s
    {
    int                 o_t_version;     --- version number
    PK_boolean_match_style_t
                        match_style;     --- (PK_boolean_match_style_basic_c)
    PK_LOGICAL_t        auto_match;      --- (PK_LOGICAL_false)
    double              auto_match_tol;  --- (0.0)
    int                 n_match_regions; --- (0)
    const PK_boolean_match_region_o_t
                       *match_regions;   --- (NULL)
    PK_boolean_match_update_t
                        update;          --- (PK_boolean_match_update_dflt_c)
    };
typedef struct PK_boolean_match_o_s PK_boolean_match_o_t;




This option structure is used to specify matching behaviour for the target and
tool bodies.


Specific Errors:
    PK_ERROR_invalid_match_region     invalid matched topology data (SERIOUS)

Used in:

PK_BODY_boolean_o_t
PK_BODY_imprint_faces_o_t
PK_BODY_imprint_o_t
PK_BODY_section_o_t
PK_FACE_boolean_o_t
PK_FACE_imprint_faces_o_t
PK_FACE_imprint_o_t
PK_FACE_section_o_t



Matching topological regions can aid or enhance the performance of boolean
operations. Matches can be detected automatically, and the application may
additionally supply them via the 'match_regions' option.

Matched topology can be specified for boolean operations involving both
manifold and general bodies, and when general topology has been enabled
via PK_SESSION_set_general_topology.

Refer to PK_boolean_match_region_o_t documentation for a full description
of matched regions.

This structure also allows a tolerance to be specified for automatic
detection of matched topology if the 'match_style' is set to
PK_boolean_match_style_auto_c.

Description of fields:



'match_style'        Unless being used for update purposes it is recommended
                     to set 'match_style' to PK_boolean_match_style_auto_c.

                     If 'match_style' is PK_boolean_match_style_basic_c then
                     the application must ensure that matched items supplied
                     as 'match_regions' do not interact other than in the
                     supplied topology. Parasolid will look for other
                     interactions if 'match_style' is set to
                     PK_boolean_match_style_relax_c or
                     PK_boolean_match_style_auto_c.

                     Note that for facet geometry, if 'match_regions' are
                     supplied then the value PK_boolean_match_style_auto_c
                     must be supplied.


'auto_match'         Whether a tolerance value for auto-matching is provided in
                     'auto_match_tol'.
                     For Imprinting, this MUST be set to PK_LOGICAL_true if
                     'match_style' is PK_boolean_match_style_auto_c.
                     For Boolean and Sectioning operations, this CAN be set to
                     PK_LOGICAL_true if 'match_style' is
                     PK_boolean_match_style_auto_c. Otherwise,
                     'default_tol' is used.
                     If 'match_style' is any other value, 'auto_match' must be
                     PK_LOGICAL_false.


'auto_match_tol'     If 'auto_match' is set to PK_LOGICAL_true then this
                     tolerance will be used to automatically detect matched
                     topology as described above.


'n_match_regions'    The number of matched region structures supplied.


'match_regions'      Array of structures describing the matched
                     topological regions.



'update'             If 'update' is PK_boolean_match_update_0_c
                     then matching will proceed as pre-V17.1.
                     If this option is set to the default value of
                     PK_boolean_match_update_dflt_c then additional steps
                     will be taken during the matching process to minimise
                     the creation of unnecessary tolerant edges.