 |
PK_TOPOL_find_nabox |
|
PK_ERROR_code_t PK_TOPOL_find_nabox
(
--- received arguments ---
int n_topols, --- number of entities
const PK_TOPOL_t topols[], --- entities to be boxed
const PK_TRANSF_t transfs[], --- transformations to be applied
--- to 'topols'
const PK_TOPOL_find_nabox_o_t *options, --- options
--- returned arguments ---
PK_NABOX_sf_t *const nabox --- returned non-aligned box
)
This function returns a non-aligned box bounding the given topological
entities.
Specific Errors:
PK_ERROR_wrong_entity (MILD) a member of 'topols' is of incorrect
type
PK_ERROR_wrong_transf (MILD) an entry in 'transfs' has
perspective or is general affine
PK_ERROR_duplicate_array_item (MILD) 'transfs' is NULL and 'topols'
contains duplicates
The class of each entry in 'topols' must be one of:
PK_CLASS_body
PK_CLASS_face
PK_CLASS_edge
PK_CLASS_vertex
The entities 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 PK_TRANSF_t entities. The 'topols' array may contain duplicates
if transforms are provided. Each entity in 'topols' is transformed by the
corresponding entity in 'transfs'. Any entry in 'transfs' may be PK_ENTITY_null
indicating that the corresponding entity in 'topols' is not to be transformed.
Entries in 'transfs' may only contain rotation, translation, equal scale and
reflection components.
The returned non-aligned box will contain the given 'topols', transformed if
necessary, and this containment will usually be tight but this is not
guaranteed.
See here for more information.