 |
PK_boolean_region_select_o_t |
|
struct PK_boolean_region_select_o_s
{
int o_t_version; --- version number
PK_boolean_region_t select_type; --- (PK_boolean_include_c)
int n_region_selectors;--- (0)
const PK_TOPOL_t *selectors; --- (NULL)
const PK_boolean_select_t *selector_types; --- (NULL)
int n_help_points; --- (0)
const PK_VECTOR_t *help_points; --- (NULL)
const PK_boolean_region_t *region_types; --- (NULL)
};
typedef struct PK_boolean_region_select_o_s PK_boolean_region_select_o_t;
This option structure is used to identify regions of the tool and/or target
body to be included or excluded from a boolean.
Used in:
PK_FACE_boolean_o_t
PK_FACE_section_o_t
A region in this context is a boundary faceset which lies wholly inside or
outside the other body. (Tool faces which intersect the target body have
been split by the boolean: the resultant faces lie wholly inside or outside
the target body. The same is true of the target with respect to the tool.)
Each region is identified by a single face, edge or vertex which is interior
to it, or a help point in the interior of the region. A 'selectors' entry of
PK_ENTITY_null may be given, in which case the closest face from the tool
will be used with the relevant 'help_points' entry.
Regions may all be included or excluded as specified by the 'select_type'.
If 'select_type' is set to PK_boolean_mixed_selection_c, then the
'region_types' entries specify include or exclude for each 'selectors'
entry. All 'selectors' in the same body must have the same value in
'region_types', e.g. all include on the target and exclude on the tool.
Description of fields:
'select_type' Indicates whether to include or exclude specified regions,
permitted values are
PK_boolean_include_c
PK_boolean_exclude_c
PK_boolean_mixed_selection_c
'n_region_selectors' The number of topological entities supplied.
'selectors' Topological entities which each uniquely identify a
region. The array may contain a mixture of faces, edges
or vertices, but no other types.
The first 'n_help_points' elements of this array are
associated with the elements of the 'help_points' array.
If a help point is to be associated with the closest tool
face, then the appropriate element of this array may
be set to PK_ENTITY_null.
'selector_types' Indicates the type of region selection. This array may
be null or contain 'n_region_selectors' elements.
If a null array is specified, then a default type of
PK_boolean_select_specific_c is assumed.
Permitted values are:
PK_boolean_select_specific_c
PK_boolean_select_adjacent_c
PK_boolean_select_propagate_c
but if 'select_type' is PK_boolean_mixed_selection_c, then
only PK_boolean_select_specific_c is allowed.
The PK_boolean_select_propagate_c type is only
valid for faces and edges specified as regions.
'n_help_points' The number of help points (vectors) supplied.
'help_points' Help points (vectors) which, when combined with the
appropriate topological entity from the 'selectors'
array, unambiguously identifies a region.
The elements of this array are associated with the
first 'n_help_points' of the 'selectors' array.
Help points may only be associated with a face. If
a help point is associated with PK_ENTITY_null,
then the tool face closest to the help point is
located and used as the face.
'region_types' If 'select_type' is PK_boolean_exclude_c or
PK_boolean_include_c, then this array must be NULL.
If 'select_type' is PK_boolean_mixed_selection_c, this
array must contain 'n_region_selectors' entries of either
PK_boolean_exclude_c or PK_boolean_include_c.