Public Types | Public Member Functions | Protected Attributes

Wizt::Fish< Fiber::Field > Class Template Reference
[The VISH - Fiber Bundle Interface]

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

#include <FishField.hpp>

List of all members.

Public Types

Public Member Functions

Protected Attributes


Detailed Description

template<>
class Wizt::Fish< Fiber::Field >

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()
   {
   AcceptType<float> a( AcceptableFieldTypes );
   AcceptType<double>b( AcceptableFieldTypes );
   }

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

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)

References Fiber::FieldSelector::accept().

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;
                if (TypedSlot<VTime> MyTime = getTimeSlot() )
                {
                        MyTime->getProperty( VPROPERTY_VTIME_MIN, Tmin);
                        MyTime->getProperty( VPROPERTY_VTIME_MAX, Tmax);
                        MyTime->getProperty( VPROPERTY_VTIME_INCREMENT, Tinc);
                }
bool Wizt::Fish< Fiber::Field >::IterateLevels ( LevelIterator &  LI,
const RefPtr< ValuePool > &  Context,
const Fiber::BundlePtr &  SpaceTime = Fiber::BundlePtr( NullPtr() ) 
)

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
         */
        RefPtr<Fiber::Field>  getField(const RefPtr<Fiber::Representation>&LevelRep,
                                       const RefPtr<ValuePool>&VP) const; 


        override Fiber::Info<Fiber::Skeleton>
                        getRefinementLevel(int Level,
                                           const RefPtr<ValuePool>&VP,
                                           int IndexDepth = 0,
                                           const Fiber::BundlePtr&SpaceTime = Fiber::BundlePtr(NullPtr() ) ); 


        Fiber::Bundle::GridInfo_t
                findMostRecentGrid(FieldSelector&GS, const RefPtr<ValuePool>&VP, const Fiber::BundlePtr&SpaceTime = Fiber::BundlePtr(NullPtr() )) const;

        Fiber::Bundle::GridInfo_t
                findMostRecentGrid(const RefPtr<ValuePool>&VP, const Fiber::BundlePtr&SpaceTime = Fiber::BundlePtr( NullPtr() ) ) const
        {
        FieldSelector   GS;
                return findMostRecentGrid(GS, VP, SpaceTime);
        } 

        using Fish<double>::IterateLevels;

References Wizt::Fish< double >::IterateLevels().