FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Public Types | Public Member Functions | Protected Attributes | List of all members
Wizt::Fish< Fiber::Field > Struct Reference

The fish scale to access the fields of a grid object in a fiber bundle. More...

#include <FishField.hpp>

Inheritance diagram for Wizt::Fish< Fiber::Field >:
Wizt::FieldAnemoneBase Wizt::FieldCLOperation Wizt::FieldOperatorObject Wizt::TypedField< FieldTypes > Wizt::VFieldRenderObject Wizt::FieldAnemone Wizt::BinaryFieldOperatorObject< TheBinaryOperator, NamingOperator, PrimaryValueType, SecondaryValueType, ResultValueType > Wizt::EditField Wizt::FieldFunctor< Operation, GridInspectorType > Wizt::UnaryFieldOperatorObject< TheUnaryOperator, ResultType > Wizt::OrthoSlice Wizt::Vitreous Wizt::TypedFieldAnemone< DisplayShader::FieldType > Wizt::FieldSlice Wizt::PictureBase Wizt::ShadedFieldAnemone Wizt::TypedFieldAnemone< FieldType > Wizt::VolumeRender Wizt::VertexFieldShader< DisplayShader, RenderCategory > Wizt::ColorizedFloatSliceRenderer Wizt::OrthoSlice::FieldState Wizt::VectorFieldSlice Wizt::PictureInjectorBase Wizt::HeightDots Wizt::HeightDotsMultiView Wizt::WhiteDots

Public Types

enum  { NumberOfInputFields = 1 }
 

Public Member Functions

 Fish (const string &field, int ExpertLevel=0)
 Constructor, specify slot name for this field.
 
template<class ... T>
bool acceptType ()
 Tell this field to accept certain types.
 
void setFieldExpertLevel (int EL)
 Set the expert level of this slot.
 
 ~Fish ()
 Destructor, cleaning up.
 
void registerFieldAsOutput ()
 Make field visible as output.
 
string Fieldname (const RefPtr< ValuePool > &VP) const
 Get the name of the selected field.
 
string getFieldname (const RefPtr< ValuePool > &VP) const
 Get the name of the selected field.
 
RefPtr< Fiber::FieldgetField (const RefPtr< ValuePool > &VP) const
 Get a vertex field from the root level from the current selection.
 
RefPtr< Fiber::FieldgetField (const RefPtr< ValuePool > &VP, const string &theFieldName) const
 Get another field from the same Grid.
 
RefPtr< Fiber::FieldgetFieldRepresentation (const RefPtr< Fiber::Representation > &LevelRep, const RefPtr< ValuePool > &VP, const RefPtr< Fiber::Skeleton > &DestVertices, Fiber::Grid &SourceGrid, Fiber::Slice &DestGridSlice, const string &HelperDestGridName, bool StoreResult=true)
 Get Field from a possibly different Grid.
 
RefPtr< Fiber::FieldgetCoordinates (const RefPtr< ValuePool > &VP) const
 Get the coordinates on this Grid.
 
FieldSelector getFieldSelector (const RefPtr< ValuePool > &VP) const
 
double getTime (const RefPtr< ValuePool > &VP, const RefPtr< Fiber::Bundle > &SpaceTime) const override
 Get the time from the current field selector.
 
TypedSlot< VTimegetTimeSlot () const
 Return the associated time slot from the source object.
 
RefPtr< VManagedObjectgetSource () const
 Get the source object of this field slot, can be used to check if the field is connected to a source at all.
 
bool IterateLevels (LevelIterator &LI, const RefPtr< ValuePool > &Context, const Fiber::BundlePtr &SpaceTime=Fiber::BundlePtr(NullPtr())) const
 Get a field from an arbitrary representation from the current selection.
 

Protected Attributes

TypedSlot< Fiber::FieldMyField
 

Detailed Description

The fish scale to access the fields of a grid object in a fiber bundle.

Fields that are selectable here are constrained to certain types. To define the specific types, use a syntax like this in your code, like in a derived class:

void addTypes()
{
}
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34

Member Enumeration Documentation

◆ anonymous enum

Enumerator
NumberOfInputFields 

How many fields must the connected object provide? Per default, one at least. Child classes may define another enum.

Member Function Documentation

◆ acceptType()

template<class ... T>
bool Wizt::Fish< Fiber::Field >::acceptType ( )
inline

Tell this field to accept certain types.

Get global value of this slot (local field selection irrelevant)

◆ getField()

RefPtr< Fiber::Field > Wizt::Fish< Fiber::Field >::getField ( const RefPtr< ValuePool > &  VP,
const string &  theFieldName 
) const

Get another field from the same Grid.

Parameters
theFieldNameName of this other field.

◆ getTimeSlot()

TypedSlot< VTime > Wizt::Fish< Fiber::Field >::getTimeSlot ( ) const
inline

Return the associated time slot from the source object.

This is usually not required, but might be useful to inspect properties of the time object, such as a min/max range or the increments.

Application code might look like this:

double Tmin = 0.0, Tmax = 1.0, Tinc = 0.1;
{
MyTime->getProperty( VPROPERTY_VTIME_MIN, Tmin);
MyTime->getProperty( VPROPERTY_VTIME_MAX, Tmax);
}
TypedSlot< VTime > getTimeSlot() const
Return the associated time slot from the source object.
Definition FishField.hpp:304

◆ IterateLevels()

bool Wizt::Fish< Fiber::Field >::IterateLevels ( LevelIterator LI,
const RefPtr< ValuePool > &  Context,
const Fiber::BundlePtr SpaceTime = Fiber::BundlePtrNullPtr() ) 
) const

Get a field from an arbitrary representation from the current selection.

A representation may for instance be retrieved from the Fish<Skeleton> class:

RefPtr<Grid> G = ...;
RefPtr<Representation> LevelRep = getLevel( *G, R);
@code
/
const RefPtr<ValuePool>&VP) const;
getRefinementLevel(int Level,
int IndexDepth = 0,
const override ;
findMostRecentGrid(FieldSelector&GS, const RefPtr<ValuePool>&VP, const Fiber::BundlePtr&SpaceTime = Fiber::BundlePtr(NullPtr() )) const;
Convenience class that implements a pointer to a Bundle object but adds some useful member funtions t...
Definition Bundle.hpp:779
An internal class that stores a couple of textual names.
Definition FieldSelector.hpp:18
std::nullptr_t NullPtr
The information as returned by a query for Grids.
Definition GridInfo.hpp:21
RefPtr< Fiber::Field > getField(const RefPtr< ValuePool > &VP) const
Get a vertex field from the root level from the current selection.
Definition FishField.cpp:192