struct PK_boolean_match_region_o_s { int o_t_version; --- version number PK_TOPOL_t regions[2]; --- (PK_ENTITY_null, PK_ENTITY_null) PK_boolean_match_t match_type; --- (PK_boolean_match_exact_c) double tolerance; --- (0.0) }; typedef struct PK_boolean_match_region_o_s PK_boolean_match_region_o_t; This option structure is used to specify and describe matched regions of the target and tool body. This options structure provides a mechanism to inform the boolean functions of known matched topological regions. A matched region is a region of overlap between two topological entities which are geometrically coincident to a specified tolerance. The entities in the matched region must be in the target or tools of the boolean operation. The following combinations of topological entities may be provided as matched regions : o Vertex - Vertex o Edge - Edge o Face - Edge o Face - Face The matched entities or regions are associated with a match_type which classifies the relationship between the entities : Vertex-Vertex Regions o Exact : Invalid classification. o Contains : Invalid classification. o Overlap : Invalid classification. o Imprinted : The vertices are matched due to being paired via an imprinting operation. Edge-Edge Regions o Exact : The edge curves are coincident to within the specified tolerance. Equivalent edge vertices are coincident to within the specified tolerance. o Contains : The edge curves are coincident to within the specified tolerance. The bounds of the second edge lie completely within the first edge. o Overlap : The edge curves are coincident to within the specified tolerance. There is at least some form of overlap between the two edges. o Imprinted : The edges are matched due to being paired via an imprinting operation. Face-Edge Regions o Exact : Invalid classification. o Contains : The edge curve is coincident to within the specified tolerance of the face surface. The edge lies completely within the face. The edge may be coincident with an edge of the face. o Overlap : The edge curve is coincident to within the specified tolerance of the face surface. The edge may intersect the boundary (edges) of the face. The edge may be coincident with an edge of the face. o Imprinted : Invalid classification. Face-Face Regions o Exact : The face surfaces are coincident to within the specified tolerance. For every edge on the first face there is a matching edge on the second face. The edge matches are not required to be exact. o Contains : The face surfaces are coincident to within the specified tolerance. The second face lies completely within the first face. None of the edges of the second face may intersect the boundary of the first face. Although edges of the second face are allowed to be coincident with those of the first face. o Overlap : The face surfaces are coincident to within the specified tolerance. The boundary of one face may intersect the boundary of the other face. Edges of one face may be coincident with edges of the other face. o Imprinted : Invalid classification. Matched Region Operation o The topological entities supplied with a matched region may only consist of vertices, edges or faces. o The topological entities supplied with a matched region must belong to different bodies. Matched regions between two tool bodies is permitted. o The matched regions may be specified in any order. Internally, the matched regions are sorted into groups of vertex-vertex, edge-edge, face-edge and face-face regions. The matched regions are then processed in this order. The order of processing within a group depends on the input order. o A matched region may be specified more than once : o Directly : For example, two edge-edge matches may be input, where the edges specified are the same. The first occurence of the matched region will be processed and the second will be ignored. o Indirectly : For example, if two matched regions are specified, an edge-edge and a face-face. The edges may form part of the boundary of the faces. The order of processing is dictated by the internal ordering of the matched regions, described above. In this case, the edge-edge match will be processed first and then the face-face match; the face-face match will ignore the specified edges when they are encountered. o Edges may be tolerantised as a result of the matching operation. Matched Region Assumption The specification of matched regions ultimately specifies an edge (or two edges) which forms the intersection between a number of faces. If the 'match_style' field in the PK_boolean_match_o_s structure is PK_boolean_match_style_basic_c then the implementation of matched regions assumes that the edge (or edges) specifies a unique intersection between all the faces that meet at that edge (or edges). The faces that are adjacent to the edges involved in the matched region are not tested for intersection. This means, if the faces intersect elsewhere, those intersections will not be detected (unless those intersections are specified by additional matched regions). This assumption is not made if 'match_style' is set to PK_boolean_match_style_relax_c and Parasolid will find any further interactions. Description of fields: regions The matched topological entities. Only vertices, edges and faces are considered valid topological entities for matching. match_type Classifies the topological match, permitted values are, PK_boolean_match_exact_c PK_boolean_match_contains_c PK_boolean_match_overlap_c PK_boolean_match_imprinted_c tolerance The value of the tolerance specifies the maximum deviation between the matched topological entities in the region of overlap.