 |
PK_PARTITION_is_clone_o_t |
|
struct PK_PARTITION_is_clone_o_s
{
int o_t_version; --- version number
PK_clone_ask_t return_entities; --- whether to return different entities
--- (PK_clone_ask_no_c)
PK_LOGICAL_t have_box; --- whether a box is provided
--- (PK_LOGICAL_false)
PK_BOX_t box; --- the box
--- (0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
PK_CLASS_array_t classes; --- classes of entities in box (NULL, 0)
PK_ENTITY_array_t entities; --- an array of entities
};
typedef struct PK_PARTITION_is_clone_o_s PK_PARTITION_is_clone_o_t;
This structure contains optional arguments for PK_PARTITION_is_clone.
Used in:
PK_PARTITION_is_clone
It has the fields:
'return_entities' whether to return different entities. If this is set to
PK_clone_ask_no_c then the function will stop as soon as
a difference is detected. If it is set to
PK_clone_ask_not_clone_c then all different entities will
be found.
'have_box' whether a box is provided to select entities from
the partiton provided.
'box' the box if 'have_box' is PK_LOGICAL_true
'classes' the classes of entities to select based on the box
provided. This is currently restricted to PK_CLASS_face,
PK_CLASS_edge and PK_CLASS_vertex.
'entities' entities specified for validation.
If 'have_box' is PK_LOGICAL_false and the length of the 'entities' array is
zero then all entities in the partition are examined.
If 'have_box' is PK_LOGICAL_true and the length of the 'classes' array is
zero then entities of the classes PK_CLASS_face, PK_CLASS_edge and
PK_CLASS_vertex whose boxes, as given by PK_TOPOL_find_box, clash with the
'box' are examined. The classes may be restricted by giving those to be
examined in the 'classes' array.
If the 'entities' array length is non-zero then all of those entities are
examined regardless of whether or not there is a box.
It is permitted for both 'have_box' to be PK_LOGICAL_true and 'entities' to be
a non-zero length array. In this case the entities examined are those whose
boxes clash with the 'box' and those specified in the 'entities' array.