|
|
virtual GridSelector | getGridFieldSelector (const RefPtr< ValuePool > &Context) const =0 |
| |
|
Ageable | AgeOfRoI (const RefPtr< ValuePool > &Context) const |
| |
|
pRegionOfInterest | getRegionOfInterest (const RefPtr< ValuePool > &Context) const |
| |
|
RefPtr< Fiber::Chart > | getCartesianChart (const RefPtr< Fiber::Grid > &G, const RefPtr< ValuePool > &Context) const |
| | Get a chart object for the given Grid given the current selection of a chart from VRenderObject's VChartDependent base class.
|
| |
| RefPtr< State > | newState () const override |
| |
|
| GridAnemone (const string &name, int RenderCategory, const RefPtr< VCreationPreferences > &VP) |
| | Constructor.
|
| |
| RenderTime | getLastRenderTime (VRenderContext &Context) const override |
| |
| virtual FieldHierarchy | getRenderFields (VRenderContext &Context) const |
| | Get the primary field that will be used for rendering.
|
| |
|
virtual RefPtr< AnemoneExplorer > | getAnemoneExplorer (VRenderContext &Context) const |
| |
| virtual RefPtr< AnemoneCreatorBase > | newAnemoneCreator (const Seagrass &theSeaggrass) const |
| | If some parameters of a Render Anemone need to be modified upon change of some input, for instance some uniform shader variables, then re-creation of the entire Anemone is overkill.
|
| |
|
AnemoneRenderStatus | renderAnemone (Anemone &RenderAnemone, const AnemoneCreationContext &ARC, const RefPtr< AnemoneExplorer > &AE, size_t current_fragment, size_t max_fragment_number, const RefPtr< BoundingBox > &theFragmentBoundingBox) const |
| | Render a RenderAnemone with the given context, checking if it's valid first, and if so update it, otherwise it needs to be initialized.
|
| |
| AnemoneRenderStatus | raiseAnemone (Anemone &RenderAnemone, const AnemoneCreationContext &ARC, const RefPtr< AnemoneExplorer > &AE) const |
| | Function to pack all kinds of information into a baby Anemone to let it grow into an adult functional one.
|
| |
| virtual AnemoneRenderStatus | initializeAnemone (Anemone &RenderAnemone, const AnemoneCreationContext &ARC, const RefPtr< AnemoneExplorer > &AE) const =0 |
| |
| virtual bool | isValidAnemone (const Anemone &RenderAnemone, const AnemoneCreationContext &ARC, const RefPtr< AnemoneExplorer > &AE) const |
| | Checks if a given Anemone is valid for rendering.
|
| |
|
virtual bool | disabledFragment (VRenderContext &theContext, const AnemoneExplorer &theAnemoneExplorer, const Fiber::CreativeArrayBase &CAB, const RefPtr< Fiber::FragmentID > &fID, const RefPtr< BoundingBox > &theFragmentBoundingBox, const RefPtr< Fiber::Representation > &R) const |
| | Virtual function to allow intervening rendering just before a Render Anemone is being created.
|
| |
| virtual bool | updateAnemone (Anemone &RenderAnemone, const AnemoneCreationContext &ARC, const RefPtr< AnemoneExplorer > &AE) const |
| | Update a certain Anemone with variables and values that do not require re-creation or loading of any data.
|
| |
| RefPtr< BoundingBall > | getTouchableBoundingBall (const RefPtr< ValuePool > &VP) const override |
| | Get the bounding box of the entire object's geometry beyond the visible part such to allow proper camera navigation.
|
| |
| virtual bool | validateInput (VRequest &Context, Fiber::Info< Fiber::Grid > &, const RefPtrGridAnemoneState &GAS, const RefPtr< Fiber::Skeleton > &myVertexSkeleton, const RefPtr< Fiber::Chart > &chart, string &ValidateInputInfoString) const |
| | Virtual call to check if the information retrieved from the inputs is valid, and if further information as required by the child class as been added correctly.
|
| |
| virtual bool | addSupplementaryData (VRequest &Context, Fiber::Info< Fiber::Grid > &, RenderFields &RF, const RefPtr< Fiber::Skeleton > &myVertexSkeleton, const RefPtr< Fiber::Chart > &chart, string &InfoString) |
| | Virtual call to add additional data in child classes.
|
| |
| virtual void | requestSupplementaryData (VRenderContext &theContext, const RefPtr< Fiber::FragmentID > &myFragmentID) const |
| | Asynchroneous mode: Request creation of supplementary data.
|
| |
| virtual bool | isCreatingSupplementaryData (VRenderContext &theContext, const RefPtr< Fiber::FragmentID > &myFragmentID) const |
| | Asynchroneous mode: Check whether supplementary data are currently under creation.
|
| |
| bool | update (VRequest &R, double precision) override |
| | The update function retrieves data from the input Grid and prepares them in the State object for rendering.
|
| |
| bool | environment_render (VRenderContext &Context) const override |
| |
| TouchIndex_t | do_feedback_render (VRenderContext &Context, TouchIndex_t StartIndex) const |
| | Support for feedback rendering, in case a child object is derived from a Touchable.
|
| |
|
virtual TouchIndex_t | getTouchIndexFragmentIndexMultiplicator (VRenderContext &Context, const Fiber::Field &) const |
| | For feedback rendering: The emitted start index will be the numerical fragment ID of the render field multiplied by this multiplicator.
|
| |
|
| GridAnemoneRenderObject (const string &name, int Cat, const RefPtr< VCreationPreferences > &VP) |
| |
| virtual RefPtr< BoundingBox > | getModifiedBBox (const RefPtr< ValuePool > &Context, Fiber::CreativeArrayBase &CoordinateFragment, const RefPtr< Fiber::FragmentID > &theFragmentID, const RefPtr< Fiber::Skeleton > &DestVertexSkeleton, const RefPtr< Fiber::Chart > &chart, bool AllowAsynchLoading) const |
| | Get a bounding box as modified by a certain object's special setup, for instance using another field than the coordinates to obtain some geometry.
|
| |
|
void | closeBBox (const RefPtr< ValuePool > &VP) const |
| |
|
void | embrace (const RefPtr< ValuePool > &VP, const point &crd) const |
| |
| RefPtr< BoundingBall > | getBoundingBall (const RefPtr< ValuePool > &VP) const override |
| |
|
bool | resetBBox (const RefPtr< ValuePool > &S) const |
| |
| bool | safe_render (VRenderContext &Context, double Z=0, double dZ=-1) const override |
| |
|
void | setBoundingBall (const RefPtr< ValuePool > &VP, const RefPtr< BoundingBall > &BS) const |
| |
|
| VRenderObject (const string &name, int p, const RefPtr< VCreationPreferences > &VP) |
| |
|
void | announce (const string &name, const VCamera &ViewpointProperties, const RefPtr< ValuePool > &Context) const |
| |
|
void | getRenderPrecision (VRenderContext &Context, double &OverallPrecision, double &ThisContribution) const |
| |
|
| VEnvironmentRenderObject (const string &name, int p, const RefPtr< VCreationPreferences > &VP) |
| |
| virtual string | getSensorInfo (const RefPtr< ValuePool > &Context, const SensorView &theSensorView) |
| |
|
bool | isVisible (const RefPtr< ValuePool > &Context) const |
| |
|
string | CreatorName () const |
| |
|
const WeakPtrVCreatorBase & | getCreator () const |
| |
| virtual bool | request (VRequest &, double precision, const WeakVObjectPtr &ImmediateRequestor, const WeakVObjectPtr &RootRequestor) |
| |
|
bool | schedule (double precision, const RefPtr< ValuePool > &Context=nullptr) |
| |
|
void | enableRequestProcessing () |
| |
|
void | disableRequestProcessing () |
| |
|
bool | acceptsRequests () const |
| |
|
const MemCore::Counter & | UpdateCount () const |
| |
|
const MemCore::Counter & | RequestCount () const |
| |
|
| VObject (const string &name, int p, const RefPtr< VCreationPreferences > &VP) |
| |
|
virtual const GimpIcon * | gimp_icon () const |
| |
| virtual const char *const * | xpm_icon () const |
| |
|
virtual string | qt_icon () const |
| |
| virtual string | help (HelpType=HTMLText) const |
| |
|
bool | setObjectAsChild (const VObjectPtr &childVObject, const string &DependencySlotName) |
| |
|
double | requestTime () const |
| |
|
void | remove () |
| |
|
const RefPtr< VCreationPreferences > & | CreationPreferences () const |
| |
|
virtual std::string | type_key () const |
| |
|
void | iterateParents (VObjectIterator &VOI, int EL=0) const |
| |
|
int | iterateParents (const VObjectIterator_f &VOI, int EL=0) const |
| |
|
virtual string | CreateParameterName (const ParameterID &name) const |
| |
|
int | iterateChildren (ChildIterator &) const |
| |
|
int | findChildren (const Lambda &theLambda) const |
| |
|
std::list< std::vector< std::string > > | getProvenance () const |
| |
|
AttachErrorCode | attachNewObject (const RefPtr< VSlot > &slot, const string &name, const Intercube &CreationContext, const RefPtr< VCreationPreferences > &VCP=nullptr) |
| |
|
AttachErrorCode | attachNewObject (const RefPtr< VSlot > &slot, const string &name, const RefPtr< VCreationPreferences > &VCP=nullptr) |
| |
|
AttachErrorCode | attachInputObject (const RefPtr< VSlot > &slot, const string &name={}, const RefPtr< VCreationPreferences > &VCP=nullptr, bool ReallyUnique=true) |
| |
|
CreateConnectionResult_t | createChild (const VAcception &VA, const Intercube &CreationContext) |
| |
|
CreateConnectionResult_t | connectChild (const VObjectPtr &ChildObject, const RefPtr< VAcceptInfo > &VA) |
| |
|
CreateConnectionResult_t | connectAsChild (const VObjectPtr &ChildObject, const VAcception &VA) |
| |
|
virtual void | InputCreation (const RefPtr< VParameter > &CurrentObjectsInput, const VObjectPtr &NewlyCreatedObject, const RefPtr< VParameter > &TheNewObjectsOutputParameter) |
| |
|
VObjectPtr | createInput (const WeakPtrVCreatorBase &VCrec, const RefPtr< VSlot > &what, const string &name, Intercube &CreationContext) |
| |
|
VObjectPtr | extractSlot (const RefPtr< VSlot > &theSlot, const string &theNewName=string()) const |
| |
|
auto | getObjectCountID () const noexcept |
| |
|
bool | isIdentical (const WeakPtr< Object, Object > &PossibleSelf) const noexcept |
| |
|
void | mkAutoDestructive () |
| |
|
refcount_t | refcount () const noexcept |
| |
|
| ReferenceBase (Object *that) noexcept |
| |
|
const auto & | self () const |
| |
|
refcount_t | wrefcount () const noexcept |
| |
|
virtual void | adjustConnections (const RefPtr< VSlot > &ChangedSlot, const RefPtr< VParameter > &par) |
| |
|
VSlotContainer::AttachErrorCode | attach (const ParameterID &whichone, VSlotContainer &sourceObject, const ParameterID &sourceName) |
| |
|
AttachErrorCode | attach (const RefPtr< VParameter > &OldParam, const RefPtr< VParameter > &NewParam, const string &Member={}) |
| |
|
AttachErrorCode | attachUniqueObject (const RefPtr< VParameter > ¶m, const RefPtr< VCreationPreferences > &VCP=NullPtr(), bool ReallyUnique=true) |
| |
|
AttachErrorCode | attachUniqueObject (const RefPtr< VSlot > &slot, const RefPtr< VCreationPreferences > &VCP=NullPtr(), bool ReallyUnique=true) |
| |
|
RefPtr< VSlot > | Connect (const RefPtr< VParameter > &SourceParam) |
| |
|
RefPtr< VSlot > | ConnectInterface (const RefPtr< VSlotContainer > &Provider, const RefPtr< InterfaceBase > &IB) |
| |
|
virtual bool | CreatedFilteredConnection (const RefPtr< VParameter > &SourceParam) |
| |
|
Ageable & | age (const RefPtr< ValuePool > &VP) |
| |
|
const Ageable & | age (const RefPtr< ValuePool > &VP) const |
| |
|
const Ageable & | ConnectionAge () const |
| |
|
bool | ConnectionsHaveChanged (const RefPtr< ValuePool > &VP) const |
| |
|
bool | HasYoungerInput (const RefPtr< ValuePool > &Context, int RecursionLevel=0) const |
| |
|
Ageable | YoungestInput (const RefPtr< ValuePool > &Context) const |
| |
|
Ageable | YoungestOutput (const RefPtr< ValuePool > &Context) const |
| |
|
Ageable | YoungestUncachedInput (const RefPtr< ValuePool > &Context) const |
| |
|
bool | CheckIfThereExistNewerOutputs (const VRequest &request, bool AdjustObjectAge) const |
| |
|
RefPtr< VSlot > | addParameter (const ParameterID &name, int EL, const RefPtr< VParameter > ¶m, bool overwriteExistingSlot) |
| |
|
virtual bool | allowParameterReplacement (const RefPtr< VParameter > &NewParam, const RefPtr< VParameter > &OldParam, const string &localName, int ExpertLevel) |
| |
|
virtual int | connectSlots (const VSlotContainerPtr &vobj) |
| |
|
bool | removeParameter (const ParameterID &s) |
| |
|
RefPtr< VParameter > | getParameter (const ParameterID &s) const |
| |
|
RefPtr< VSlot > | getSlot (const ParameterID &s, int &EL) const |
| |
|
bool | setSlotValueFromText (const ParameterID &s, const string &ValueText, const RefPtr< ValuePool > &VP, const string &theMember={}) |
| |
|
RefPtr< VSlot > | findSlot (const RefPtr< VParameter > ¶m) const |
| |
|
string | getSlotName (const RefPtr< VParameter > ¶m) const |
| |
|
bool | AddAction (const ParameterID &s, const RefPtr< ValueActionBase > &VAB) |
| |
|
bool | AddAction (const RefPtr< VSlot > &ActionSlot, bool(DerivedObject::*Action)(const RefPtr< VValueBase > &value)) |
| |
|
RefPtr< VParameter > | mkUniqueParameterInput (const ParameterID &s, const string &ContainerName) |
| |
|
int | getExpertLevel (const ParameterID &s) const |
| |
|
int | setExpertLevel (const ParameterID &s, int EL) |
| |
|
int | getExpertLevel (const RefPtr< VParameter > &) const |
| |
|
int | getExpertLevel (const RefPtr< VSlot > &S) const |
| |
|
int | setExpertLevel (const RefPtr< VSlot > &S, int EL) |
| |
|
int | setExpertLevel (const RefPtr< VParameter > &s, int EL) |
| |
|
bool | hasChanged (const ParameterID &s, const RefPtr< ValuePool > &Context) const |
| |
|
bool | hasChanged (const RefPtr< VSlot > &, const RefPtr< ValuePool > &Context) const |
| |
|
bool | hasChanged (const RefPtr< ValuePool > &Context, int n,...) const |
| |
|
bool | hasChanged (RefPtr< ValuePool > Context,...) const |
| |
|
virtual bool | ignoreInput (const RefPtr< VSlot > &theSlot) const |
| |
|
bool | getParameterValue (Type &Variable, const ParameterID &s, const RefPtr< ValuePool > &VP) const |
| |
|
bool | getParameterValue (Type &Variable, const ParameterID &s, const VContext &C) const |
| |
|
bool | getParameterValue (Type &Variable, const ParameterID &s, const VRequest &R) const |
| |
|
bool | setParameterValue (const Type &Variable, const ParameterID &s, const RefPtr< ValuePool > &VP, bool autoCreateLocalValue) const |
| |
|
bool | setParameterValue (const Type &Variable, const ParameterID &s, VContext &C, bool autoCreateLocalValue) const |
| |
|
bool | setParameterValue (const Type &Variable, const ParameterID &s, VRequest &R, bool autoCreateLocalValue=false) const |
| |
|
RefPtr< VSlot > | addParam (const ParameterID &name, const Type &init, const RefPtr< VCreationPreferences > &VP=NullPtr(), int expertLevel=0, bool overwriteExistingSlot=true) |
| |
|
bool | setParameterProperty (const ParameterID ¶m, const string &Properties, const RefPtr< VValueBase > &Value=NullPtr()) |
| |
|
RefPtr< VSlot > | addFloatParam (double init, const ParameterID ¶m, double min, double max, const RefPtr< VCreationPreferences > &IP=NullPtr(), int expertLevel=0) |
| |
|
AttachErrorCode | attach (const RefPtr< VParameter > &OldParam, const RefPtr< VParameter > &NewParam, const string &Member={}) |
| |
|
int | iterateParameters (int expertLevel, VSlotIterator &VIIt) const |
| |
|
int | iterateInputSlots (int expertLevel, VSlotIterator &VIIt) const |
| |
|
int | iterateInputs (VSlotIterator &VIIt, int expertLevel=0) |
| |
|
int | iterate_inputs (const std::function< bool(VSlot &what, int ExpertLevel)>) const |
| |
|
RefPtr< VSlot > | getUniqueInputSlot (const type_info &what) |
| |
|
int | getNumberOfParameters (int expertLevel) const |
| |
|
virtual bool | implements (const type_info &what) const |
| |
|
virtual RefPtr< VParameter > | getImplementation (const type_info &what, const string &name={}, const string &member={}) const |
| |
|
RefPtr< VSlot > | getImplementationSlot (const type_info &what, const string &Name={}, const string &Member={}) const |
| |
|
VAcceptInfoList_t | getAcceptInfoList (const std::type_info &request_type) const |
| |
|
bool | provides (const RefPtr< VSlot > &OutputSlot) const |
| |
|
RefPtr< VSlot > | findOutputSlot (const RefPtr< VParameter > &Who) const |
| |
|
bool | isYounger (const RefPtr< VParameter > &OutputParam, const RefPtr< ValuePool > &VP) const |
| |
|
bool | isNewlyConnected (const RefPtr< VParameter > &Who, const RefPtr< ValuePool > &VP) const |
| |
|
bool | hasNewlyConnectedOutputs (const RefPtr< ValuePool > &VP) const |
| |
|
void | findNewlyConnectedOutputs (const RefPtr< ValuePool > &VP, VSlotSet &WhichOnes) const |
| |
|
RefPtr< VSlot > | getOutput (const string &Name) const |
| |
|
RefPtr< MemCore::StringList > | getOutputs (const type_info &what=typeid(void)) const |
| |
|
virtual int | iterateOutputs (VOutputIterator &VOut, const type_info &just_these=typeid(void)) const |
| |
|
bool | registerOutput (const RefPtr< VParameter > &P, const string &AsName={}) |
| |
|
bool | registerOutput (const RefPtr< VParameter > &P, const string &AsName, const type_info &MemberType, const string &UseMember) |
| |
|
bool | registerOutput (const RefPtr< VParameter > &P, const type_info &MemberType, const string &UseMember) |
| |
|
int | getNumberOfInputs () const |
| |
|
int | getNumberOfOutputs () const |
| |
|
bool | hasChangedSlots (const MemCore::Intercube &IC, const RefPtr< ValuePool > &Context) const |
| |
|
auto | include_self (const std::tuple< SlotList... > &t) const -> decltype(std::tuple_cat(std::make_tuple(this), t)) |
| |
|
| in (VSlotContainer *that, const string &name, int expertLevel=0) |
| |
|
| in (VSlotContainer *that, const string &name, const GridSelector &GS=GridSelector(), int expertLevel=0) |
| |
|
| out (VConnectable *Source, const string &initial_name, const Fiber::GridSelector &InitValue=GridSelector(), const RefPtr< VCreationPreferences > &CP=NullPtr()) |
| |
|
RefPtr< State > & | getState (const WeakPtr< ValuePool > &VP) const |
| |
|
RefPtr< InterfaceBase > | hasLocalInterface (const type_info &InterfaceType) const |
| |
|
RefPtr< State > | myState (const WeakPtr< ValuePool > &Context) const |
| |
|
void | setState (const WeakPtr< ValuePool > &, const RefPtr< State > &st) const |
| |
|
void | addSaver (const string &, const RefPtr< VishSaver > &) |
| |
|
void | addSavers (AppClass &A) |
| |
|
bool | autosave () const |
| |
|
RefPtr< VishSaver > | getMostRecentSaver () const |
| |
|
size_t | getNumberOfSavers () const |
| |
|
RefPtr< VishSaver > | getSaver (const string &) const |
| |
|
RefPtr< VishSaver > | getSaverByExt (const string &ext) const |
| |
|
int | iterate_savers (const save_iterator &si) const |
| |
Public Member Functions inherited from Wizt::VManagedDomainObject< VObject > |
| const type_info & | getDomainType () const override |
| |
|
void | remove () |
| |
|
| VManagedDomainObject (const string &name, int priority=DEFAULT_PRIORITY) |
| |
|
string | getLoadModule () const |
| |
|
void | insert (const string &s, int priority=DEFAULT_PRIORITY) |
| |
|
void | remove () |
| |
|
void | setPriority (int priority) |
| |
|
| VManagedObject (const string &name, int priority=DEFAULT_PRIORITY) |
| |
|
void | addInterface (const RefPtr< InterfaceBase > &I) const |
| |
|
void | addInterfaceData (const Data &D) |
| |
|
void | addInterfaceData (const Data &D) |
| |
|
void | clearInterfaces () |
| |
|
bool | const_iterateInterfaces (const RefPtr< InterfaceIterationParameter > &IIP) const |
| |
|
virtual RefPtr< InterfaceBase > | createInterface (const type_info &) const |
| |
|
RefPtr< InterfaceBase > | findInterface (const type_info &t) const |
| |
|
RefPtr< InterfaceBase > | getInterface (const type_info &t) |
| |
|
std::string | getInterfaceNames (const char delim=';') const |
| |
|
bool | gotNewInterfaceData (const Data &D) |
| |
|
bool | gotNewInterfaceData (mutex &M, const Data &D) |
| |
|
bool | gotNewInterfaceData (mutex &M, const Data &D) |
| |
|
bool | gotNewInterfaceData (mutex &M, const Data &D, const Selector &S) |
| |
|
bool | gotNewInterfaceData (mutex &M, const Data &D, const Selector *S) |
| |
|
bool | hasChangedInterfaceData (const Data &D) const |
| |
|
bool | hasChangedInterfaceData (const Data &D) const |
| |
|
bool | hasChangedInterfaceData (const Data &D, const Selector &) const |
| |
|
bool | hasChangedInterfaceData (const Data &D, const Selector *) const |
| |
|
bool | hasInterface (const type_info &t) const |
| |
|
bool | iterateInterfaces (const RefPtr< InterfaceIterationParameter > &IIP) |
| |
|
void | printInterfaces () const |
| |
|
void | registerInterface (const type_info &t) |
| |
|
void | removeInterface () |
| |
|
void | removeInterfaceBase (const type_info &InterfaceBaseID) |
| |
|
void | addNameChangeNotifier (const WeakPtr< Notifier > &) |
| |
|
std::string | BaseName (const char Separator) const |
| |
|
const std::string & | getName () const |
| |
|
| MutableName (const std::string &theName) |
| |
|
const std::string & | Name () const |
| |
|
void | rename (const std::string &newName) |
| |
|
void | setName (const std::string &newName) |
| |
|
RefPtr< VScriptFunctor > | findFunctor (const string &name) const |
| |
|
RefPtr< VScriptFunctor > | insertFunctor (const string &name, const RefPtr< VScriptFunctor > &) |
| |
|
bool | iterate (iterator &it) |
| |
|
int | nFunctors () const |
| |
|
void | removeFunctor (const string &name) |
| |
|
bool | addRequest (const VRequest &request) |
| |
|
bool | hasRequest (const VRequest &request) const |
| |
|
RenderBasin::glsl | getTransformationShaderFunctions (VRenderContext &Context) const |
| |
|
bool | initializeAnemoneTransformation (Anemone &RenderAnemone, VRenderContext &Context) const |
| |
|
RefPtr< BoundingBox > | shadedVolume (const RefPtr< ValuePool > &Context, const RefPtr< BoundingBox > &VerticesBBox) const |
| |
|
bool | setStatusCritical (const RefPtr< ValuePool > &Context, const string &what) const |
| |
|
bool | setStatusError (const RefPtr< ValuePool > &Context, const string &what, bool AnnouncePublic=false) const |
| |
|
bool | setStatusInfo (const RefPtr< ValuePool > &Context, const string &what) const |
| |
|
bool | setStatusWarning (const RefPtr< ValuePool > &Context, const string &what) const |
| |
|
| StatusIndicator (VObject *what, const string &initialtext="", int EL=0, const string &statusslotname=Slotname) |
| |
Base class for objects that render information given on a Grid.
The grid that is used for rendering might stem from a Field selection or a Grid selection.
Child classes need to implement the virtual function
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
Context information to select a grid from within a bundle.
Definition GridSelector.hpp:26
to specify the source of the grid.
Recipe for implementing child classes:
- Implement validateInput() to check for additional constraints on the input parameters, and possibly extract some more information.
- Anything computationally intensive needs to be done in the update() function, from which validateInput() is called as well. It has to provide its results and pass it to the render() function via the local state object. Child classes need to derive from GridAnemoneState to extent it by additional information and implement the newState() function to return such derived state objects.
- Let isValidAnemone() return false for the development stage such that no caching occurs and full concentration can be given on creating an appropriate rendering object.
- Implement updateAnemone() such to read the required data ONLY from the state object and to appropriately extend the provided Anemone object for rendering. This includes in particular inserting a Painter Tentacle. At this point, the coordinates of the Grid object for a given fragment will already be available.
- Deal with caching issues by properly implementing the updateAnemone() and isValidAnemone() functions.
- Author
- werner