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