Classes | Public Member Functions | Static Public Member Functions

Wizt::FieldInputCreator< FieldVObject, TypeList, NumberOfInputFields > Struct Template Reference
[The VISH - Fiber Bundle Interface]

Creator class for objects that require fields as input It operates on existing fields only. More...

#include <FishField.hpp>

List of all members.

Classes

Public Member Functions

Static Public Member Functions


Detailed Description

template<class FieldVObject, class TypeList = LIST<META::NIL>, int NumberOfInputFields = FieldVObject::NumberOfInputFields>
struct Wizt::FieldInputCreator< FieldVObject, TypeList, NumberOfInputFields >

Creator class for objects that require fields as input It operates on existing fields only.

Parameters:
TypeList Optionally specify the types on that input fields must provide. Default is META::NIL, which means all possible field are allowed as input. This probably not what you want. Types here must be specified in the form of a META::LIST.

   static Ref<FieldInputCreator<VolumeRender> >                                myCreator("Display/GenericVolumeRender");
   static Ref<FieldInputCreator<VolumeRender, LIST<double, LIST<float> > > >   myCreator("Display/FloatingPtVolumeRender");
   static Ref<FieldInputCreator<VolumeRender, META::NativeTypeList> >          myCreator("Display/NativeTypeVolumeRender");
NumberOfInputFields An integer telling how many field this object wants upon creation. This is expected to be an enum in the given FieldVObject, but can also set explicitly for each FieldInputCreator.

   static Ref<FieldInputCreator<    VolumeRender, META::NIL, 1>          myCreator("Display/SimpleVolumeRender");
   static Ref<FieldInputCreator<DualVolumeRender, META::NIL, 2>          myCreator("Display/DualVolumeRender");

, META::NativeTypeList, META::IntegerTypeList


Constructor & Destructor Documentation

template<class FieldVObject, class TypeList = LIST<META::NIL>, int NumberOfInputFields = FieldVObject::NumberOfInputFields>
Wizt::FieldInputCreator< FieldVObject, TypeList, NumberOfInputFields >::FieldInputCreator ( const string &  name,
int  quality 
) [inline]

Constructor.

Parameters:
quality The object's matureness, according to ObjectQuality
template<class FieldVObject, class TypeList = LIST<META::NIL>, int NumberOfInputFields = FieldVObject::NumberOfInputFields>
Wizt::FieldInputCreator< FieldVObject, TypeList, NumberOfInputFields >::FieldInputCreator ( const VCreatorProperties CreatorProperties,
int  quality 
) [inline]

Constructor.

Parameters:
CreatorProperties The properties of this creator, it is recommendable to make use of namespace Panthalassia or ProtoOcean.
quality The object's matureness, according to ObjectQuality
template<class FieldVObject, class TypeList = LIST<META::NIL>, int NumberOfInputFields = FieldVObject::NumberOfInputFields>
template<unsigned ID>
Wizt::FieldInputCreator< FieldVObject, TypeList, NumberOfInputFields >::FieldInputCreator ( const VCreatorProperty< ID > &  CreatorProperties,
int  quality 
) [inline]

Constructor.

Parameters:
CreatorProperties The properties of this creator, it is recommendable to make use of namespace Panthalassia or ProtoOcean.
quality The object's matureness, according to ObjectQuality

Allows to create objects via Panthalassia syntax:

           static Ref<FieldInputCreator>
                   MyScalarValueCreator(
                                Category("Display")
                                + Identifier("ScalarValues")
                                + Help("Display the values of a scalar field at the location of each vertex")
                                , ObjectQuality::MATURE);

Member Function Documentation

template<class FieldVObject, class TypeList = LIST<META::NIL>, int NumberOfInputFields = FieldVObject::NumberOfInputFields>
override RefPtr<VAcceptInfo> Wizt::FieldInputCreator< FieldVObject, TypeList, NumberOfInputFields >::accept ( const RefPtr< VObject > &  vobj  )  const [inline, virtual]

Object acceptance function.

Inspects whether the given VObject provides a Fiber::Field that is compatible to the specified TypeList .

Reimplemented from Wizt::VCreator< FieldVObject, AcceptList< Fiber::Field > >.

Referenced by Wizt::FieldInputCreator< FieldVObject, FieldVObject::InputTypes >::accept().