- viewable(?ViewableName)
- Test/enumerate names of all existent viewables.
- viewable_create(?ViewableName, +Elements)
- Create a viewable.
- viewable_create(?ViewableName, +Elements, ++Type)
- Create a viewable, specifying type.
- viewable_create(?ViewableName, +Elements, ++Type, ++LocNamesList)
- Create a viewable, specifying both type and location names.
- viewable_expand(++ViewableName, ++DimensionNumber, +ExtraElements)
- Expand a dimension of a viewable by adding new elements.
- viewable_expand(++ViewableName, ++DimensionNumber, +ExtraElements, ++LocName)
- Expand a dimension of a viewable by adding new elements, specifying the name of the new location.
- viewable_size(++ViewableName, ?SizeList)
- Query the sizes of the dimensions of an existent viewable.
- viewable_type(++ViewableName, ?Type)
- Query the type of an existent viewable.
Module for the management of viewables. These are logical, multidimensional arrays whose elements can be accessed globally for visualisation purposes. The creation, destruction and modification of viewables and their contents can be monitored by visualisation clients.
Viewables are created using viewable_create/2/3/4
and last until this call is
backtracked over. During its lifetime, a viewable is said to be
existent. This can be tested with
viewable/1, which can also be used to enumerate all
existent viewables.
One or more of the dimensions of a viewable can optionally
be flexible in size while the viewable is existent. This allows
new elements to be added to the viewable, using
viewable_expand/3/4. The fixity of a
dimension denotes whether it is fixed or flexible.
A viewable is given a type when it is created. This
specifies the number of dimensions, the fixity of each dimension
and the type of viewable elements which the viewable can
contain. An existent viewable's type can be retrieved using
viewable_type/2, and its current sizes of the
dimensions can be retrieved using
viewable_size/2.
viewable_create/2/3/4 and
viewable_expand/3/4 succeed with any arguments. It is
therefore reasonable to leave these predicates in your code even
when not visualising.viewable/1, viewable_size/2 and
viewable_type/2 fail whatever the arguments. If
these predicates are used (normally they should not be
necessary) the possibility of failure should be taken into
account.