 |
PK_TOPOL_ask_entities_by_attdef |
|
PK_ERROR_code_t PK_TOPOL_ask_entities_by_attdef
(
--- received arguments ---
PK_TOPOL_t topol, --- topological entity
PK_CLASS_t class, --- class of requested entities
PK_LOGICAL_t have_attrib, --- whether entities have an attribute
PK_ATTDEF_t attdef, --- attribute definition
--- ( may be PK_ENTITY_null )
--- returned arguments ---
int *const n_entities, --- number of entities ( >= 0 )
PK_ENTITY_t **const entities --- entities ( optional )
)
This function returns the set of 'entities' of the given 'class' which belong
to 'topol' and either do or do not have an attribute of the given 'attdef',
depending upon 'have_attrib'.
Specific Errors:
PK_ERROR_wrong_entity Topological entity not supported (MILD)
PK_ERROR_bad_class Given class is invalid (MILD)
At present 'topol' is restricted to be of class PK_CLASS_body.
The output array 'entities' is optional. If it is set to NULL, the function
will only compute the number of entities.
The function selects from all the entities belonging to the given 'topol' by
applying two filters:
- class: all returned 'entities' will belong to the given 'class'.
'class' may be:
PK_CLASS_face
PK_CLASS_edge
PK_CLASS_vertex
PK_CLASS_region
PK_CLASS_lattice
PK_CLASS_surf and all subclasses
PK_CLASS_curve and all subclasses
PK_CLASS_point
PK_CLASS_group
- attdef: entities are also selected by whether or not they have particular
attributes. 'attdef' may be set to an existing attribute
definition, in which case selection is by whether or not an entity
has an attribute of that attribute definition, or it may be set to
PK_ENTITY_null, meaning an attribute of any attribute definition.
If 'have_attrib' is set to PK_LOGICAL_true then selected entities
will have an attribute as specified by 'attdef'. If 'have_attrib'
is set to PK_LOGICAL_false then selected entities will not have
an attribute as specified by 'attdef'.