 |
PK_TOPOL_find_box_2 |
|
PK_ERROR_code_t PK_TOPOL_find_box_2
(
--- received arguments ---
int n_topols, --- number of topologies
const PK_TOPOL_t topols[], --- topologies to be boxed
const PK_TRANSF_t transfs[], --- transformations to be applied
--- to 'topols'
const PK_TOPOL_find_box_2_o_t *options, --- options structure
--- returned arguments ---
PK_TOPOL_find_box_2_r_t *const results --- result structure
)
This function returns an axis-aligned box which bounds the given topologies
subject to supplied transformations.
Specific Errors:
PK_ERROR_wrong_entity a member of 'topols' is of incorrect
class (MILD)
PK_ERROR_wrong_transf an entry in 'transfs' is not of the
supported types (MILD)
PK_ERROR_duplicate_array_item 'transfs' is NULL and 'topols'
contains duplicates (MILD)
PK_ERROR_empty_body a member of 'topols' is a body with no
faces, edges or vertices (MILD)
PK_ERROR_empty_assy a member of 'topols' is an assembly that
instances no bodies (MILD)
PK_ERROR_missing_geom a member of 'topols' is missing vertex
geometry (MILD)
The class of each entry in 'topols' must be one of:
PK_CLASS_assembly
PK_CLASS_body
PK_CLASS_face
PK_CLASS_edge
PK_CLASS_vertex
The entries in 'topols' may be transformed by providing transformations in
'transfs'.
If 'transfs' is set to NULL then none of the 'topols' are transformed and
'topols' may not contain duplicates.
If 'transfs' is not NULL then it must be an array of length 'n_topols'
containing entities of class PK_CLASS_transf. The 'topols' array may contain
duplicates if transforms are provided. Each entry in 'topols' is transformed
by the corresponding entry in 'transfs'. Any entry in 'transfs' may be
PK_ENTITY_null indicating that the corresponding entry in 'topols' is not
to be transformed. Entries in 'transfs' may only contain rotation,
translation, uniform scale and reflection components.
The returned aligned box will contain the given 'topols' after their
corresponding 'transfs' have been applied.
See here for more information.