![]() |
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)
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.