|
Fish - FiberLib for VISH 0.3
Fish - The Fiber Bundle API for the Vish Visualization Shell
|
Base class for objects that render information given on a Grid. More...
#include <GridAnemone.hpp>
Classes | |
| struct | FieldInfo |
| struct | CoordinateShift |
| An optional interface that is stored by the FloatingAnemoneExplorer on each AnemoneCreator to specify the location of the origin relativ to which vertices are uploaded. More... | |
| struct | AnemoneExplorer |
| The Anemone Explorer is an object that lives throughout rendering of a set of Anemones. More... | |
Public Types | |
| enum class | SortMethod { None , BackToFront , FrontToBack , MostVisible } |
| using | AnemoneParameters = ::Wizt::AnemoneParameters |
| using | AnemoneCreationContext = ::Wizt::GridAnemoneCreationContext |
| using | GridAnemoneState = ::Wizt::GridAnemoneState |
| using | SkeletonID = Fiber::SkeletonID |
| using | FieldHierarchy = map<SkeletonID, FieldInfo> |
| using | SkeletonSet = map<SkeletonID, WeakPtr<Fiber::Skeleton>> |
| using | AnemoneRenderStatus = AnemoneRenderFields::AnemoneRenderStatus |
| using | initializeAnemoneParameters |
| Public Types inherited from Wizt::VSlotContainer | |
| enum | AttachErrorCode |
| typedef void | AcceptableInputTypes |
| typedef VSlotSet | CreationSlots_t |
| typedef VSlot::Empty< I > | Empty |
| Public Types inherited from MemCore::ReferenceBase< VManagedObjectBase > | |
| typedef Object | reference_domain_t |
| typedef WeakPtr< Object, Object > | SelfPtr_t |
| Public Types inherited from Wizt::VEnvironmentRenderObject | |
| typedef ::Eagle::PhysicalSpace::point | point |
| Public Types inherited from Wizt::VObject | |
| enum | HelpType |
| typedef void | AcceptableInputTypes |
| typedef VConnectable::Empty< I > | Empty |
| typedef std::function< bool(const RefPtr< VObject > &vobj, const VSlot &ChildConnection)> | VObjectIterator_f |
| Public Types inherited from Wizt::VSaveable | |
| typedef std::function< bool(const string &s, VishSaver &VS)> | save_iterator |
| Public Types inherited from Wizt::VManagedDomainObject< VObject > | |
| typedef What | Domain_t |
| Public Types inherited from Wizt::RenderNamespace | |
| enum | GeometryInputType |
| enum | GeometryOutputType |
| enum | Primitive |
| enum | TextureFormat |
| enum | VertexAttributeTypes |
| typedef std::variant< int, float, double, unsigned, Eagle::FixedArray< int, 2 >, Eagle::FixedArray< float, 2 >, Eagle::FixedArray< double, 2 >, Eagle::FixedArray< int, 3 >, crd3f, Eagle::FixedArray< float, 3 >, crd3d, Eagle::FixedArray< double, 3 >, Eagle::FixedArray< int, 4 >, Eagle::FixedArray< float, 4 >, Eagle::FixedArray< double, 4 >, Eagle::Quadratic< 2, float >, Eagle::Quadratic< 3, float >, Eagle::Quadratic< 4, float >, vec3f_vector, crd3f_vector > | AnyUniform |
| typedef std::string | glsl |
Public Member Functions | |
| 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 |
| Initialize a virgin Render Anemone, i.e. | |
| 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. | |
| Public Member Functions inherited from Wizt::Fish< double > | |
| Fish () | |
| Default constructor. | |
| ~Fish () | |
| Destructor. | |
| virtual double | getTime (const RefPtr< ValuePool > &VP, const RefPtr< Fiber::Bundle > &SpaceTime) const =0 |
| Most virtual time retrieval function. | |
| virtual int | getMaxRefinementLevel (const RefPtr< ValuePool > &VP) const |
| Get the maximum refinement level that we seek to handle here. | |
| virtual int | getMinRefinementLevel (const RefPtr< ValuePool > &VP) const |
| virtual Fiber::Info< Fiber::Skeleton > | getRefinementLevel (int Level, const RefPtr< ValuePool > &VP, int IndexDepth=0, const Fiber::BundlePtr &SpaceTime=Fiber::BundlePtr(NullPtr())) const =0 |
| bool | IterateLevels (LevelIterator &LI, const Fiber::Info< Fiber::Grid > &G, const RefPtr< ValuePool > &Context) const |
| Iterate over the diverse refinement levels of a Grid, which may exist at times different from the given coarsest grid. | |
| Public Member Functions inherited from Wizt::VConnectable | |
| 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) |
| Public Member Functions inherited from Wizt::VSlotContainer | |
| 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)) |
| Public Member Functions inherited from MemCore::ReferenceBase< VManagedObjectBase > | |
| 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 |
| Public Member Functions inherited from Wizt::GridAnemoneRenderObject | |
| 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. | |
| Public Member Functions inherited from Wizt::VRenderObject | |
| 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) | |
| Public Member Functions inherited from Wizt::VEnvironmentRenderObject | |
| 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) | |
| Public Member Functions inherited from Wizt::RenderAble | |
| virtual string | getSensorInfo (const RefPtr< ValuePool > &Context, const SensorView &theSensorView) |
| bool | isVisible (const RefPtr< ValuePool > &Context) const |
| Public Member Functions inherited from Wizt::VObject | |
| 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 |
| Public Member Functions inherited from Wizt::VStateCreatorBase | |
| 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 |
| Public Member Functions inherited from Wizt::VSaveable | |
| 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) | |
| Public Member Functions inherited from Wizt::VManagedObject | |
| 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) | |
| Public Member Functions inherited from MemCore::Intercube | |
| 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) |
| Public Member Functions inherited from MemCore::MutableName | |
| 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) |
| Public Member Functions inherited from Wizt::VScriptable | |
| 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) |
| Public Member Functions inherited from Wizt::VTraceRequestID | |
| bool | addRequest (const VRequest &request) |
| bool | hasRequest (const VRequest &request) const |
| Public Member Functions inherited from Wizt::VTransformable | |
| 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 |
| Public Member Functions inherited from Wizt::StatusIndicator | |
| 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) | |
Static Public Member Functions | |
| static RefPtr< RenderBasin::VertexAttribute > | createVertexCoordinates (VRenderContext &Context, const RefPtr< Fiber::MemBase > &Coordinates, bool AllowProceduralCoordinates) |
| static const char * | getAnemoneRenderStatusDescription (AnemoneRenderStatus) |
| static void | destroyAnemone (RefPtr< Anemone > &Anemone, const AnemoneCreationContext &ARC) |
| Static Public Member Functions inherited from Wizt::VConnectable | |
| static bool | attachSlot (const WeakPtr< VSlot > &DestSlot, const RefPtr< VParameter > &ProvidedParam, const string &Member={}) |
| static bool | attachSlot (const WeakPtr< VSlot > &DestSlot, const RefPtr< VSlot > &SourceSlot, const string &Member={}) |
| static bool | detachSlot (const RefPtr< VSlot > &SourceSlot) |
| Static Public Member Functions inherited from Wizt::VSlotContainer | |
| static const char * | AttachErrorCodeMessage (AttachErrorCode) |
| static bool | attachParameter (const RefPtr< VParameter > &theProvidedParam, const WeakPtr< VSlot > &theDestSlot, const string &theMember={}) |
| Static Public Member Functions inherited from Wizt::ValueCacheable | |
| static ValueCache & | consider (MemCore::Intercube &IC, const WeakPtr< VSlot > &VS, const RefPtr< ValuePool > &Context) |
| static ValueCache & | getValueCache (MemCore::Intercube &IC) |
| static bool | hasChangedSlots (const WeakPtrToVSlotContainer &theSlotOwner, const MemCore::Intercube &IC, const RefPtr< ValuePool > &Context) |
| Static Public Member Functions inherited from Wizt::RenderAble | |
| static const char * | VisibilitySlotName () |
| Static Public Member Functions inherited from Wizt::VObject | |
| static bool | remove (const string &s) |
| static int | findOutputObjects (const type_info &Type, OutputObjectIterator &GOutputs) |
| static string | createChildname (const string &parent_name) |
| static VAcceptInfoList_t | accept (const VObjectPtr &vobj) |
| static RefPtr< VParameter > | findUniqueOutputObject (const type_info &Type, const RefPtr< VCreationPreferences > &VCP, bool ReallyUnique, const VObject *NotThisOne) |
| Static Public Member Functions inherited from Wizt::VSaveable | |
| static VSaveable & | GlobalState () |
| Static Public Member Functions inherited from Wizt::VManagedDomainObject< VObject > | |
| static RefPtr< VManagedObject > | find (const string &s) |
| static int | iterate (VManagedObjectIterator_t VIt, int p_start=INT_MIN, int p_end=INT_MAX) |
| static int | size () |
| static int | traverse (VManagedObjectIterator &VIt, int p_start=INT_MIN, int p_end=INT_MAX) |
| Static Public Member Functions inherited from Wizt::VManagedObject | |
| static int | count () |
| static VManagedObjectPtr | find (const type_info &, const std::string &s) |
| static bool | InitDomain (const type_info &) |
| static int | iterateModules (ModuleIterator &VIM) |
| static int | size (const type_info &) |
| static int | traverse (const type_info &, VManagedObjectIterator &VIt, int p_start, int p_end) |
| static void | UnloadVModule (const string &what, VRemoveItem &RI) |
| Static Public Member Functions inherited from MemCore::MutableName | |
| static std::string | BaseName (const std::string &theName, const char Separator) |
Public Attributes | |
| inout< double > | inLevelThreshold |
| in< double > | inRenderTimeFactor |
| inout< RefPtr< CellTensorFunctor > > | inCellTensorFunctor |
| in< bool > | inFreeze |
| in< bool > | inShowTerminalOnly |
| inout< int > | inMinLevel |
| inout< int > | inNumberOfLevels |
| inout< int > | inMaxNumberOfRenderFragments |
| inout< int > | inMinNumberOfElementsPerFragments |
| inout< int > | inMaxNumberOfElementsPerFragments |
| out< VBoundingBox > | outVisibleBBox |
| out< Fiber::Grid > | outVisibleGrid |
| SortMethod | CurrentSortMethod = SortMethod::None |
| Public Attributes inherited from Wizt::VSlotContainer | |
| AllLevels | |
| DestParameterNotFound | |
| InvalidDestParameter | |
| Public Attributes inherited from Wizt::VEnvironmentRenderObject | |
| VOutput< VCameraSetPtr > | myCameraSet |
| Public Attributes inherited from Wizt::RenderAble | |
| out< double > | outRenderTimeContribution |
| in< bool > | Visibility |
| Public Attributes inherited from Wizt::VObject | |
| HelpURL | |
| HTMLText | |
| PlainText | |
| ShortHTMLText | |
| ShortText | |
| std::string | whyupdate |
| string | UserInfo |
| Public Attributes inherited from Wizt::RenderNamespace | |
| COLORS | |
| COORDINATES | |
| LINE_LOOP | |
| LINE_STRIP | |
| LINES | |
| NORMALS | |
| POINTS | |
| POLYGON | |
| TRIANGLE_STRIP | |
| TRIANGLE_FAN | |
| TRIANGLES | |
| QUAD_STRIP | |
| QUADS | |
| SECONDARY_COLORS | |
| TEXTURE0 | |
| TEXTURE1 | |
| USER_DEFINED | |
| Public Attributes inherited from Wizt::StatusIndicator | |
| VOutput< VObjectStatus > | StatusInfo |
Additional Inherited Members | |
| Static Public Attributes inherited from Wizt::VObject | |
| static constexpr char | NameSeparator |
| static constexpr char | SlotNameSeparator |
| Static Public Attributes inherited from Wizt::VManagedObject | |
| static string | CurrentLoadModule |
| Static Public Attributes inherited from Wizt::StatusIndicator | |
| static const char | Slotname [] |
| Protected Types inherited from Wizt::VObject | |
| typedef bool(* | UpdateFunction) (VObject *, VRequest &, double precision) |
| Protected Member Functions inherited from Wizt::VSlotContainer | |
| virtual void | setup (const CreationSlots_t &CreationSlots) |
| Protected Member Functions inherited from MemCore::ReferenceBase< VManagedObjectBase > | |
| virtual void | extremeUnction () |
| ReferenceBase & | operator= (const ReferenceBase &R) |
| void | suicide () |
| Protected Member Functions inherited from Wizt::RenderAble | |
| RenderAble (const string &name, int p, const RefPtr< VCreationPreferences > &VP) | |
| Protected Member Functions inherited from Wizt::VObject | |
| virtual bool | unsychronized_update (VRequest &VR, double precision) |
| Protected Attributes inherited from Wizt::VObject | |
| MemCore::Counter | UpdateCounter |
| MemCore::Counter | RequestCounter |
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
to specify the source of the grid.
Recipe for implementing child classes:
| using Wizt::GridAnemone::initializeAnemoneParameters |
|
virtual |
Virtual call to add additional data in child classes.
Note that the vertex skeleton and the chart are contained in the GridAnemoneState at this point.
| InfoString | The status info string that can optionally be modified. |
Reimplemented in Wizt::FieldAnemone.
Referenced by initializeAnemone(), and update().
| TouchIndex_t Wizt::GridAnemone::do_feedback_render | ( | VRenderContext & | Context, |
| TouchIndex_t | StartIndex ) const |
Support for feedback rendering, in case a child object is derived from a Touchable.
The child object still needs to implement VTouchable::feedback_render(), which will trivially call this function.
References do_feedback_render(), getRenderFields(), Wizt::VStateCreatorBase::getState(), and MemCore::ReferenceBase< VManagedObjectBase >::self().
Referenced by do_feedback_render().
|
overridevirtual |
Implements Wizt::RenderAble.
|
virtual |
Reimplemented in Wizt::SurfaceRenderer.
|
overridevirtual |
Reimplemented from Wizt::RenderAble.
|
virtual |
Get the primary field that will be used for rendering.
This field will in general be a Positions field, in many cases of the vertices of a grid in cartesian coordinates. It may also stem from a higher order topology of a grid, for instance the triangle cells of a mesh.
The render Anemones will be cached at each fragment of this field relative to this object and relative to the given Context.
Reimplemented in Wizt::SkeletonRenderer.
References Wizt::VStateCreatorBase::getState().
Referenced by do_feedback_render().
|
overridevirtual |
Get the bounding box of the entire object's geometry beyond the visible part such to allow proper camera navigation.
Reimplemented from Wizt::RenderAble.
Reimplemented in Wizt::PictureBase.
References Fiber::GridSelector::findMostRecentGrid(), Wizt::VRenderObject::getBoundingBall(), Fiber::GridSelector::getBundle(), getCartesianChart(), and Wizt::Fish< double >::getTime().
Referenced by initializeAnemone().
|
pure virtual |
Initialize a virgin Render Anemone, i.e.
equip it with all its properties as required for rendering (aka waving).
Note: Must always clear the anemone before calling initialize() since all operations here will APPEND.
Render parameters (uniform shader variables) can be connected to be updated automatically from an input slot. Given the name of an uniform variable and the input slot
then the this slot can be bound to the shader's uniform variable via
Implemented in Wizt::FieldAnemone, and Wizt::SkeletonRenderer.
References addSupplementaryData(), disabledFragment(), getTouchableBoundingBall(), isCreatingSupplementaryData(), isValidAnemone(), requestSupplementaryData(), update(), updateAnemone(), and validateInput().
Referenced by raiseAnemone().
|
virtual |
Asynchroneous mode: Check whether supplementary data are currently under creation.
Asynchrone mode: Check whether supplementary data are currently under creation.
Reimplemented in Wizt::FieldAnemone.
Referenced by initializeAnemone().
|
virtual |
Checks if a given Anemone is valid for rendering.
Consider the case that some anemone may be reused, but unfortunately is invalid for whatever reason. This may happen if it was created incomplete previously, but nothing has changed since then, so it's still invalid, even though it could be reused...
Any code derive from Programmable may just call
to check for validity of the attached shader programs.
Reimplemented in Wizt::EdgeShader, Wizt::FieldAnemone, Wizt::FloatingSkeletonRenderer, Wizt::PictureBase, and Wizt::SurfaceRenderer.
Referenced by initializeAnemone(), and renderAnemone().
|
virtual |
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.
References to those parameters can then be stored at its AnemoneCreator, which will be destroyed as soon as the data generating the Render Anemone are destroyed as well.
A derived class may then implement modifying the rendering parameters:
Note that this code example examplifies "manual" updating of a render parameter (i.e., a uniform shader variable). The more convenient way, if possible, is to set a connection from an input slot to a render parameter, see initializeAnemone().
|
overridevirtual |
Reimplemented from Wizt::VStateCreatorBase.
| GridAnemone::AnemoneRenderStatus Wizt::GridAnemone::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.
Calls the virtual initializeAnemone() function at some point.
References MemCore::MutableName::BaseName(), Wizt::GridAnemoneCreationContext::getCurrentFragmentName(), initializeAnemone(), Wizt::VTransformable::initializeAnemoneTransformation(), Wizt::Anemone::insert(), Wizt::AnemoneCreatorContext::myAnemoneCreator, MemCore::MutableName::Name(), std::basic_string< char >::npos, and Wizt::Anemone::NumberOfVertices().
Referenced by renderAnemone().
|
virtual |
Asynchroneous mode: Request creation of supplementary data.
Reimplemented in Wizt::FieldAnemone.
Referenced by initializeAnemone().
|
overridevirtual |
The update function retrieves data from the input Grid and prepares them in the State object for rendering.
Reimplemented from Wizt::VObject.
References Wizt::VObject::acceptsRequests(), addSupplementaryData(), Wizt::VSlotContainer::age(), MemCore::MutableName::BaseName(), Wizt::RenderNamespace::COORDINATES, Fiber::GridSelector::findMostRecentGrid(), Fiber::GridSelector::getBundle(), getCartesianChart(), Fiber::GridSelector::getGridname(), Fiber::SkeletonID::getHomogeneousLevel(), Wizt::Fish< double >::getTime(), Wizt::RenderAble::isVisible(), Wizt::VStateCreatorBase::myState(), MemCore::MutableName::Name(), Wizt::VRenderObject::setBoundingBall(), Wizt::StatusIndicator::setStatusError(), Wizt::StatusIndicator::setStatusInfo(), Wizt::StatusIndicator::setStatusWarning(), Wizt::String(), MemCore::to_string(), validateInput(), and Wizt::RenderAble::Visibility.
Referenced by initializeAnemone().
|
virtual |
Update a certain Anemone with variables and values that do not require re-creation or loading of any data.
If this function returns false, then this Anemone will not be rendered but destroyed. If this function returns true, but the Anemone is empty(), then it will be re-initialized.
Reimplemented in Wizt::FloatingProgrammableEdgeRenderer, Wizt::PictureBase, and Wizt::SurfaceRenderer.
Referenced by initializeAnemone(), and renderAnemone().
|
virtual |
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.
This function needs to set the object status message if returning false, for instance:
Reimplemented in Wizt::SkeletonRenderer.
Referenced by initializeAnemone(), and update().