 |
PK_ENTITY_range_vector |
|
PK_ERROR_code_t PK_ENTITY_range_vector
(
--- received arguments ---
int n_entities, --- number of entities
const PK_ENTITY_t entities[], --- entity array
const PK_TRANSF_t tf[], --- transforms for the entities
int n_vectors, --- number of positions
const PK_VECTOR_t vectors[], --- position array
const PK_ENTITY_range_vector_o_t *options, --- options structure [PF]
--- returned arguments ---
PK_ENTITY_range_vector_r_t *const results --- result structure
)
This function finds the global minimum separation between an array
of entities and an array of positions.
Specific Errors:
PK_ERROR_bad_option_data bad option data given (MILD)
PK_ERROR_bad_parameter bad parameter given (MILD)
PK_ERROR_wrong_entity given entity is of the wrong type (MILD)
PK_ERROR_missing_geom given entity has missing geometry (MILD)
PK_ERROR_no_closest_approach failed to find closest approach (MILD)
PK_ERROR_unsupported_transf unsupported type of transformation (MILD)
PK_ENTITY_range_vector will find the global closest approach between
the array of entities 'entities' and the array of positions 'vectors'.
The following scenarios are supported:
(1) The number of positions is one:
The following entity types are supported:
- vertex, fin, edge, face, and body,
- surface, curve, and point.
A single global minimum distance is identified between an array
of entities and a position.
(2) The number of positions is greater than one:
A single geometrical input is supported only.
Global minimum separations are identified for each pairing of the
geometrical entity with one of the positions supplied. The order of
the ranges returned is matched with the order of positions in
'vectors'.
The input array cannot contain both geometrical and topological entities
Dealing with transforms
If 'tf' is NULL then no entities will be transformed, otherwise each entity
will be transformed by the corresponding transformation.
Each transformation provided must be a rigid motion, a reflection, or
PK_ENTITY_null (in which case it is treated as the identity transformation).