|
FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
|
Fish is the Fiber Bundle VISH interface. More...
Classes | |
| struct | Wizt::BinaryFieldOperatorObject< TheBinaryOperator, NamingOperator, PrimaryValueType, SecondaryValueType, ResultValueType > |
| Template class for binary operations on Fields. More... | |
| class | Wizt::BundleProviderObject |
| Common base class for objects that provide Bundle objects. More... | |
| class | Wizt::FieldFunctor< Operation, GridInspectorType > |
| Perform operations on fields. More... | |
| struct | Wizt::FieldInputCreatorBaseTrait< FieldVObject, OutputType > |
| Template meta-program to compute the right base class for FieldInputCreators (objects that take Field objects as input), depending on whether they provide some output or not. More... | |
| struct | Wizt::TypeInspector |
| Helper class for FieldInputCreator . More... | |
| struct | Wizt::FieldInputCreator< FieldVObject, TypeList, GridInspector, NumberOfInputFields, OutputType > |
| Creator class for objects that require fields as input. More... | |
| struct | Wizt::TypedFieldInputCreator< FieldVObject, GridInspector, OutputType > |
| A FieldInputCreator that retrieves the types of possible input fields from a TypeList type as exported from the parameter. More... | |
| class | Wizt::FieldObject |
| Base class for selecting fields from a Grid object. More... | |
| struct | Wizt::FieldObjectCreator< FieldVObject > |
| VCreator class that operates on fields or bundles. More... | |
| class | Wizt::FieldOperatorObject |
| Base class for objects that operate on Field objects and create new fields. More... | |
| struct | Wizt::Fish< Fiber::Bundle > |
| Base class for Vish Objects that request a fiber bundle as input objects. More... | |
| class | Wizt::VOutput< Fiber::Field > |
| The output fish scale for fields, used whenever an VObject provides a field. More... | |
| struct | Wizt::VValueTrait< FieldSelector > |
| Template trait for using Fish field scales as input slots. More... | |
| class | Wizt::FieldValueConstraint |
| struct | Wizt::TypedSlot< Fiber::Field > |
| An input slot for retrieving fields on a Fiber::Grid. More... | |
| struct | Wizt::Fish< Fiber::Field > |
| The fish scale to access the fields of a grid object in a fiber bundle. More... | |
| class | Wizt::Fish< Fiber::FragmentCluster > |
| A base class for Fish objects that operate on selections of data fragments, which are sections of fields distributed over possibly different refinement levels. More... | |
| struct | Wizt::VValueTrait< GridSelector > |
| Template trait for using Fiber grids as input slots. More... | |
| struct | Wizt::TypedSlot< Fiber::Grid > |
| The input fish scale for grids. More... | |
| class | Wizt::VOutput< Fiber::Grid > |
| The output fish scale for grids, used whenever an VObject provides a grid. More... | |
| struct | Wizt::Fish< Fiber::GridContainer > |
| Abstract virtual base class (a Fish scale) for interfacing slots to Grid objects. More... | |
| struct | Wizt::Fish< Fiber::Grid > |
| A fish scale for dealing with dependencies on grid objects. More... | |
| class | Wizt::FishObject |
| struct | Wizt::Fish< Fiber::Skeleton > |
| Operating on skeletons. More... | |
| struct | Wizt::Fish< Fiber::Slice > |
| A Fish slot (scale) that allows to select a slice from a fiber bundle. More... | |
| struct | Wizt::GridActor< GridInspector, CreativeObject > |
| Creator for objects operating on certain kinds of Grid objects, providing an interface for the function Fiber::hasProperty() . More... | |
| class | Wizt::GridObject |
| Base class for objects that provide Grid objects extracted from Bundle objects. More... | |
| struct | Wizt::GridObjectCreator< GridVObject > |
| Creator for objects that may create grids; such objects may be attached to objects that provide bundles. More... | |
| class | Wizt::GridProviderObject |
| Common base class for objects that provide Grid objects. More... | |
| class | Wizt::TypedCreationPreferencesBase |
| Base class for Fiber-specific creation preferences that know how to deal with types. More... | |
| class | Wizt::TypedCreationPreferences< T > |
| Fiber-specific creation preferences that know how to deal with types. More... | |
| class | Wizt::TypedCreationPreferences< META::LIST< T... > > |
| Fiber-specific creation preferences that know how to deal with types. More... | |
Fish is the Fiber Bundle VISH interface.
It provides certain types and respective VISH slots (VSlots) to retrieve, communicate and provide Fiber Bundle object properties, such as Grid and Field objects.
These Fish slots can be used directly like any VISH slot, but there are also some building blocks defined that implicitely implement these slots. These building blocks are used via the Fish<> template class and called the "Fish Scales". A Fish Scale is used as a base class from which a Vish Object is derived.
For instance, a Vish Object may request a Field as input. It may then requiest a Field as a usual TypedSlot:
This mechanism will just work. Note that Fields are communicated among Vish Objects in the form of FieldSelectors, not as actual Fields. In contrast to a Fields, a FieldSelectordescribes the means on how to get a Field, but does not load or create any data by itself. To get the actual Field, one must apply the various member functions of the FieldSelector. For the purpose of connecting objects, the FieldSelector is equipped with the functionality on how to describe Fields, such as its possible types. This is used to determine if objects may be connected at all, without having to load or create any data yet.
However, alternatively to using a TypedSlot<Field>, one can use the method of Fish Scales:
As a Fish Scale, the newly defined object will be equipped with convenient membet functions to operate on the available data. See class Fish<Field> for further details. Note that class Fish<Field> only supports input of a single Field; so if multiple input Fields are required, the child class still needs to make use of TypedSlot<Field> members.
If a Vish object wishes to provide a Field as output, this is done the standard way:
Remember, Fields are communicated in Fish as FieldSelectors;
Similarly to Fields, also Grids and Bundles can be communicated among Vish Objects. For Grids, communication will be done via the GridSelector, for Bundles it will be via a BundlePtr.