|
The Vish Visualization Shell 0.3
Vish
|
Abstract base class for objects that can be rendered. More...
#include <ocean/Anemonia/VRenderAble.hpp>
Classes | |
| struct | RenderTime |
| Render this object (calling safe_render() ) including timing measurements. More... | |
| struct | SensorView |
| Extended information as provided by a sensor on the screen such as the mouse cursor. More... | |
| struct | SubContext |
| struct | TransparencyHandler |
| Transparency handlers are special objects that handle other transparent objects. More... | |
Public Member Functions | |
| virtual bool | environment_render (VRenderContext &Context) const =0 |
| A render routine which may change the state of OpenGL for all subsequent renderings. | |
| virtual RefPtr< BoundingBall > | getBoundingBall (const RefPtr< ValuePool > &VP) const |
| Retrieve the bounding volume of the object. | |
| virtual struct RenderTime | getLastRenderTime (VRenderContext &Context) const |
| Getting the time from the last rendering call. | |
| virtual string | getSensorInfo (const RefPtr< ValuePool > &Context, const SensorView &theSensorView) |
| A realtime-feedback callback function to allow each render object add provide information to be displayed for a certain mouse cursor location. | |
| virtual RefPtr< BoundingBall > | getTouchableBoundingBall (const RefPtr< ValuePool > &VP) const |
| Retrieve the bounding volume of the object as far as it concerns camera navigation. | |
| bool | isVisible (const RefPtr< ValuePool > &Context) const |
| Check visibility of the given render object relative to a give Context. | |
| virtual bool | safe_render (VRenderContext &Context, double Z=0, double dZ=-1) const |
| Calls the render function with pushing/popping the modelview matrix. | |
Public Member Functions inherited from Wizt::VObject | |
| string | CreatorName () const |
| Retrieve the name of the object's creator. | |
| const WeakPtrVCreatorBase & | getCreator () const |
| Get the Creator of this object. | |
| virtual bool | request (VRequest &, double precision, const WeakVObjectPtr &ImmediateRequestor, const WeakVObjectPtr &RootRequestor) |
| Request an action, to be performed with a certain precision. | |
| bool | schedule (double precision, const RefPtr< ValuePool > &Context=nullptr) |
| Schedule a request for this object for later processing. | |
| void | enableRequestProcessing () |
| Enable processing of requests. | |
| void | disableRequestProcessing () |
| Disable the processing of requests. | |
| bool | acceptsRequests () const |
| Check whether this object may process requests. | |
| const MemCore::Counter & | UpdateCount () const |
| A read-only counter telling if this object is currently being updated. | |
| const MemCore::Counter & | RequestCount () const |
| A read-only counter telling if this object is currently being under a request. | |
| VObject (const string &name, int p, const RefPtr< VCreationPreferences > &VP) | |
| Create a Vish Object. | |
| virtual const GimpIcon * | gimp_icon () const |
| If this object provides an icon in GIMP C source format, return it here. | |
| virtual const char *const * | xpm_icon () const |
| If this object provides an icon in XPM source format, return it here. | |
| virtual string | qt_icon () const |
| Supporting QT resource strings. | |
| virtual string | help (HelpType=HTMLText) const |
| Return a string, containing HTML or Richtext formatting suitable to be displayed in QT. | |
| bool | setObjectAsChild (const VObjectPtr &childVObject, const string &DependencySlotName) |
| Set a certain object as being a child of the current one. | |
| virtual | ~VObject () |
| Destructor. | |
| double | requestTime () const |
| Last computation time in seconds. | |
| void | remove () |
| remove this object from the object database | |
| const RefPtr< VCreationPreferences > & | CreationPreferences () const |
| Return the creation preferences. | |
| virtual std::string | type_key () const |
| Return a unique string representing the type represented by this VObject. | |
| virtual string | CreateParameterName (const ParameterID &name) const |
| Creation of global parameter names. | |
| int | iterateChildren (ChildIterator &) const |
| Find all children connected from the current object. | |
| template<class Lambda > | |
| int | findChildren (const Lambda &theLambda) const |
| std::list< std::vector< std::string > > | getProvenance () const |
| Parse the object name string into provenance information, i.e. | |
| AttachErrorCode | attachNewObject (const RefPtr< VSlot > &slot, const string &name, const Intercube &CreationContext, const RefPtr< VCreationPreferences > &VCP=nullptr) |
| Create a new object with the type of the specified slot, whatever that is, but using the creation preferences. | |
| AttachErrorCode | attachNewObject (const RefPtr< VSlot > &slot, const string &name, const RefPtr< VCreationPreferences > &VCP=nullptr) |
| Create a new object with the type of the specified slot, whatever that is, but using the creation preferences. | |
| AttachErrorCode | attachInputObject (const RefPtr< VSlot > &slot, const string &name={}, const RefPtr< VCreationPreferences > &VCP=nullptr, bool ReallyUnique=true) |
| For the given input slot, connect it to an existing VObject providing this type as output, or create a new one under the given name if there is none found yet. | |
| CreateConnectionResult_t | createChild (const VAcception &VA, const Intercube &CreationContext) |
| Based on the accept information provided by some Object creator, create a VObject that accepts the current object as an input object. | |
| CreateConnectionResult_t | connectChild (const VObjectPtr &ChildObject, const RefPtr< VAcceptInfo > &VA) |
| Connect an existing object as a child to the current object. | |
| CreateConnectionResult_t | connectAsChild (const VObjectPtr &ChildObject, const VAcception &VA) |
| Note: Calls the setup() functions. | |
| virtual void | InputCreation (const RefPtr< VParameter > &CurrentObjectsInput, const VObjectPtr &NewlyCreatedObject, const RefPtr< VParameter > &TheNewObjectsOutputParameter) |
| Virtual callback function, as invoked from createInput() . | |
| VObjectPtr | createInput (const WeakPtrVCreatorBase &VCrec, const RefPtr< VSlot > &what, const string &name, Intercube &CreationContext) |
| Given a certain VCreatorBase that is supposed to fit to a given slot, create an object that serves as input to this one. | |
| VObjectPtr | extractSlot (const RefPtr< VSlot > &theSlot, const string &theNewName=string()) const |
| Given a slot of this VObject create a new VObject from it that provides just this slot and serves as input to the current VObject. | |
Public Member Functions inherited from Wizt::VManagedObjectBase | |
| VManagedObjectBase () | |
| Constructor. | |
| ~VManagedObjectBase () | |
| Destructor. | |
Public Member Functions inherited from MemCore::ReferenceBase< VManagedObjectBase > | |
| auto | getObjectCountID () const noexcept |
| Get a unique ID for this object in the given domain. | |
| bool | isIdentical (const WeakPtr< VManagedObjectBase, VManagedObjectBase > &PossibleSelf) const noexcept |
| Check if this object is identical to the one used by the given pointer. | |
| void | mkAutoDestructive () |
| Marks this object as being automatically destructed, e.g. | |
| refcount_t | refcount () const noexcept |
| The strong reference count. | |
| ReferenceBase (VManagedObjectBase *that) noexcept | |
| Constructor, initializes reference counter to zero. | |
| const auto & | self () const |
| Return weak pointer to the object self. | |
| refcount_t | wrefcount () const noexcept |
| The weak reference count. | |
Public Member Functions inherited from Wizt::VConnectable | |
| virtual void | adjustConnections (const RefPtr< VSlot > &ChangedSlot, const RefPtr< VParameter > &par) |
| Callback function that is called when a Connect() has been issued. | |
| VSlotContainer::AttachErrorCode | attach (const ParameterID &whichone, VSlotContainer &sourceObject, const ParameterID &sourceName) |
| Share a parameter with another one. | |
| AttachErrorCode | attach (const RefPtr< VParameter > &OldParam, const RefPtr< VParameter > &NewParam, const string &Member={}) |
| Replace a given parameter of the current object with another parameter. | |
| AttachErrorCode | attachUniqueObject (const RefPtr< VParameter > ¶m, const RefPtr< VCreationPreferences > &VCP=NullPtr(), bool ReallyUnique=true) |
| Try to find an existing object that matches its type with the specified parameter. | |
| AttachErrorCode | attachUniqueObject (const RefPtr< VSlot > &slot, const RefPtr< VCreationPreferences > &VCP=NullPtr(), bool ReallyUnique=true) |
| Try to find an existing object that matches its type with the specified parameter. | |
| RefPtr< VSlot > | Connect (const RefPtr< VParameter > &SourceParam) |
| Given a certain parameter, overload a parameter of the same type in the current object with this one. | |
| RefPtr< VSlot > | ConnectInterface (const RefPtr< VSlotContainer > &Provider, const RefPtr< InterfaceBase > &IB) |
| virtual bool | CreatedFilteredConnection (const RefPtr< VParameter > &SourceParam) |
| We wish to connect the current object to the given parameter, but it provides an output type that cannot be used by this current object as input type. | |
Public Member Functions inherited from Wizt::VSlotContainer< ExpertLevel > | |
| Ageable & | age (const RefPtr< ValuePool > &VP) |
| Return the age of this object, which may be modified. | |
| const Ageable & | age (const RefPtr< ValuePool > &VP) const |
| Return the age of this object in read-only form. | |
| const Ageable & | ConnectionAge () const |
| Return the age when connections had last been modified. | |
| bool | ConnectionsHaveChanged (const RefPtr< ValuePool > &VP) const |
| Check whether the connections have changed on this object. | |
| bool | HasYoungerInput (const RefPtr< ValuePool > &Context, int RecursionLevel=0) const |
| Ageable | YoungestInput (const RefPtr< ValuePool > &Context) const |
| Return the age of the youngest input. | |
| Ageable | YoungestOutput (const RefPtr< ValuePool > &Context) const |
| Determine the age of the youngest output object. | |
| Ageable | YoungestUncachedInput (const RefPtr< ValuePool > &Context) const |
| Return the age of the youngest input slot that is not cached. | |
| virtual | ~VSlotContainer () |
| Destructor. | |
| RefPtr< VSlot > | addParameter (const ParameterID &name, int EL, const RefPtr< VParameter > ¶m, bool overwriteExistingSlot) |
| Specify a parameter (type) as input for this VObject. | |
| virtual bool | allowParameterReplacement (const RefPtr< VParameter > &NewParam, const RefPtr< VParameter > &OldParam, const string &localName, int ExpertLevel) |
| Virtual callback function invoked by replaceParameter() when the implementation of a parameter is changed by another one. | |
| virtual int | connectSlots (const VSlotContainerPtr &vobj) |
| Tries to connect all slots found in the given VObject with those of the current one. | |
| bool | removeParameter (const ParameterID &s) |
| Remove a parameter from the list of input objects. | |
| RefPtr< VParameter > | getParameter (const ParameterID &s) const |
| Return the local input parameter slot for a certain parameter name. | |
| RefPtr< VSlot > | getSlot (const ParameterID &s, int &EL) const |
| A more verbose version of getParameter() which also provides information about which member of a certain parameter is used here; note that the type of the full parameter will be different from the type of a member of the parameter. | |
| bool | setSlotValueFromText (const ParameterID &s, const string &ValueText, const RefPtr< ValuePool > &VP, const string &theMember={}) |
| Convenience function to set an input value from its textual representation. | |
| RefPtr< VSlot > | findSlot (const RefPtr< VParameter > ¶m) const |
| Given a parameter, find a slot that refers to this one. | |
| string | getSlotName (const RefPtr< VParameter > ¶m) const |
| Check whether this object contains the given parameter, and if so, under which slot's name. | |
| bool | AddAction (const ParameterID &s, const RefPtr< ValueActionBase > &VAB) |
| Associate the change of a certain parameter of this object with a certain action. | |
| template<class DerivedObject > | |
| bool | AddAction (const RefPtr< VSlot > &ActionSlot, bool(DerivedObject::*Action)(const RefPtr< VValueBase > &value)) |
| Connect the change of a parameter with the invocation of an object's member function. | |
| RefPtr< VParameter > | mkUniqueParameterInput (const ParameterID &s, const string &ContainerName) |
| Calls VParameter::copy();. | |
| int | getExpertLevel (const ParameterID &s) const |
| Get the expert level of a parameter. | |
| int | setExpertLevel (const ParameterID &s, int EL) |
| Set the expert level of a parameter. | |
| int | getExpertLevel (const RefPtr< VParameter > &) const |
| Get the expert level of a parameter via pointer. | |
| int | getExpertLevel (const RefPtr< VSlot > &S) const |
| Get the expert level of a parameter via pointer. | |
| int | setExpertLevel (const RefPtr< VSlot > &S, int EL) |
| Set the expert level of a parameter via pointer. | |
| int | setExpertLevel (const RefPtr< VParameter > &s, int EL) |
| Set the expert level of a parameter via pointer. | |
| bool | hasChanged (const ParameterID &s, const RefPtr< ValuePool > &Context) const |
| Check whether a certain input parameter has changed. | |
| bool | hasChanged (const RefPtr< VSlot > &, const RefPtr< ValuePool > &Context) const |
| Check whether a certain input slot has changed. | |
| bool | hasChanged (const RefPtr< ValuePool > &Context, int n,...) const |
| Check a set of input parameters whether one has changed. | |
| bool | hasChanged (RefPtr< ValuePool > Context,...) const |
| Check a set of input parameters whether one has changed. | |
| virtual bool | ignoreInput (const RefPtr< VSlot > &theSlot) const |
| Allow ignoring certain slots on update(). | |
| template<class Type > | |
| bool | getParameterValue (Type &Variable, const ParameterID &s, const RefPtr< ValuePool > &VP) const |
| Get a value for a certain parameter. | |
| template<class Type > | |
| bool | getParameterValue (Type &Variable, const ParameterID &s, const VContext &C) const |
| Get a value for a certain parameter. | |
| template<class Type > | |
| bool | getParameterValue (Type &Variable, const ParameterID &s, const VRequest &R) const |
| Get a value for a certain parameter. | |
| template<class Type > | |
| bool | setParameterValue (const Type &Variable, const ParameterID &s, const RefPtr< ValuePool > &VP, bool autoCreateLocalValue) const |
| Set a value for a parameter, given a ValuePool. | |
| template<class Type > | |
| bool | setParameterValue (const Type &Variable, const ParameterID &s, VContext &C, bool autoCreateLocalValue) const |
| Set a value for a parameter, given a context. | |
| template<class Type > | |
| bool | setParameterValue (const Type &Variable, const ParameterID &s, VRequest &R, bool autoCreateLocalValue=false) const |
| Set a value for a parameter, given a context. | |
| template<class Type > | |
| RefPtr< VSlot > | addParam (const ParameterID &name, const Type &init, const RefPtr< VCreationPreferences > &VP=NullPtr(), int expertLevel=0, bool overwriteExistingSlot=true) |
| Add an input parameter to the VObject. | |
| bool | setParameterProperty (const ParameterID ¶m, const string &Properties, const RefPtr< VValueBase > &Value=NullPtr()) |
| Set a property of an input parameter, such as the minimum or maximum of a bounded numerical value. | |
| RefPtr< VSlot > | addFloatParam (double init, const ParameterID ¶m, double min, double max, const RefPtr< VCreationPreferences > &IP=NullPtr(), int expertLevel=0) |
| Shortcut function to add a floating point parameter. | |
| AttachErrorCode | attach (const RefPtr< VParameter > &OldParam, const RefPtr< VParameter > &NewParam, const string &Member={}) |
| Replace a given parameter of the current object with another parameter. | |
| int | iterateParameters (int expertLevel, VSlotIterator &VIIt) const |
| Iterate over all VInput objects that have an expert level lower or equal to the expertLevel parameter. | |
| int | iterateInputSlots (int expertLevel, VSlotIterator &VIIt) const |
| Same as iterateParameters(). | |
| int | iterateInputs (VSlotIterator &VIIt, int expertLevel=0) |
| Iterate all inputs with expert level smaller than zero (default), or as specified. | |
| int | iterate_inputs (const std::function< bool(VSlot &what, int ExpertLevel)>) const |
| Iterate over all VInput objects that have an expert level lower or equal to the expertLevel parameter. | |
| RefPtr< VSlot > | getUniqueInputSlot (const type_info &what) |
| Find an input slot that queries a specific type. | |
| int | getNumberOfParameters (int expertLevel) const |
| Get the number of parameters up to a certain expert level. | |
| virtual bool | implements (const type_info &what) const |
| Check whether this VObject implements a certain type. | |
| virtual RefPtr< VParameter > | getImplementation (const type_info &what, const string &name={}, const string &member={}) const |
| By querying a type and an optional finer textual description, retrieve an Parameter that is implemented by this VObject. | |
| RefPtr< VSlot > | getImplementationSlot (const type_info &what, const string &Name={}, const string &Member={}) const |
| Query an output slot for the given type. | |
| VAcceptInfoList_t | getAcceptInfoList (const std::type_info &request_type) const |
| Get a list of possible output implementations for the given request type. | |
| bool | provides (const RefPtr< VSlot > &OutputSlot) const |
| Verifies that the specified slot is provided by the current VObject. | |
| RefPtr< VSlot > | findOutputSlot (const RefPtr< VParameter > &Who) const |
| Find an output slot that refers to the given parameter, i.e. | |
| bool | isYounger (const RefPtr< VParameter > &OutputParam, const RefPtr< ValuePool > &VP) const |
| Check if an output parameter is of younger age, which might be the case if it has been recently connected or modified through external means. | |
| bool | isNewlyConnected (const RefPtr< VParameter > &Who, const RefPtr< ValuePool > &VP) const |
| Check if an output parameter has been recently connected or modified through external means. | |
| bool | hasNewlyConnectedOutputs (const RefPtr< ValuePool > &VP) const |
| Check if there are new connections. | |
| void | findNewlyConnectedOutputs (const RefPtr< ValuePool > &VP, VSlotSet &WhichOnes) const |
| Find all output parameters that have been recently connected since the last update() call. | |
| RefPtr< VSlot > | getOutput (const string &Name) const |
| Get the output slot for a given name. | |
| RefPtr< MemCore::StringList > | getOutputs (const type_info &what=typeid(void)) const |
| Get a list of all output names that are provided by this object. | |
| virtual int | iterateOutputs (VOutputIterator &VOut, const type_info &just_these=typeid(void)) const |
| Iterate over all the Outputs of this VObject, i.e. | |
| bool | registerOutput (const RefPtr< VParameter > &P, const string &AsName={}) |
| Register a certain parameter as being output by this VObject under the given name (optionally). | |
| bool | registerOutput (const RefPtr< VParameter > &P, const string &AsName, const type_info &MemberType, const string &UseMember) |
| Register a member of a parameter, that is output by this VObject, as being available to external VObjects. | |
| bool | registerOutput (const RefPtr< VParameter > &P, const type_info &MemberType, const string &UseMember) |
| Register a component of a parameter, using the default name of the parameter. | |
| int | getNumberOfInputs () const |
| Get the number of input parameters, ie. on how many parameters does this object depend on? | |
| int | getNumberOfOutputs () const |
| Get the number of output parameters, ie. how many parameters does this object provide? | |
| bool | hasChangedSlots (const MemCore::Intercube &IC, const RefPtr< ValuePool > &Context) const |
| Check if the given Intercube hosts any VSlots that have been changed relative to the given Context. | |
| template<typename... SlotList> | |
| auto | include_self (const std::tuple< SlotList... > &t) const -> decltype(std::tuple_cat(std::make_tuple(this), t)) |
| Given a tuple of values, create a new tuple that includes the object itself. | |
Public Member Functions inherited from Wizt::VStateCreatorBase | |
| RefPtr< State > & | getState (const WeakPtr< ValuePool > &VP) const |
| Retrieve a pointer to a state object for the given context. | |
| RefPtr< InterfaceBase > | hasLocalInterface (const type_info &InterfaceType) const |
| Check whether any of the local object states has an interface of the given type. | |
| RefPtr< State > | myState (const WeakPtr< ValuePool > &Context) const |
| Retrieve a state for the current context, possibly creating one. | |
| virtual RefPtr< State > | newState () const |
| create a new state object. Child classes might deliver child states. | |
| void | setState (const WeakPtr< ValuePool > &, const RefPtr< State > &st) const |
| Set a state object for a given context. | |
Public Member Functions inherited from Wizt::VSaveable | |
| void | addSaver (const string &, const RefPtr< VishSaver > &) |
| Add a save object that is associated with the certain text. | |
| template<class AppClass > | |
| void | addSavers (AppClass &A) |
| To add external savers a derived class call. | |
| bool | autosave () const |
| Save object using the last used saver. | |
| RefPtr< VishSaver > | getMostRecentSaver () const |
| Get the last saver that had been used for this object. | |
| size_t | getNumberOfSavers () const |
| Get the number of savers. | |
| RefPtr< VishSaver > | getSaver (const string &) const |
| Retrieve a saver functor that is associated to the certain text. | |
| RefPtr< VishSaver > | getSaverByExt (const string &ext) const |
| Retrieve a saver functor for the given file extension. | |
| int | iterate_savers (const save_iterator &si) const |
| Iterate over all savers associated with this object. | |
| VSaveable () | |
| Constructor, does nothing. | |
| ~VSaveable () | |
| Destructor, does nothing but automatic cleanup. | |
Public Member Functions inherited from Wizt::VManagedDomainObject< VObject > | |
| const type_info & | getDomainType () const override |
| Get the associated domain type. | |
| void | remove () |
| Remove the current object from the pool of objects. | |
| VManagedDomainObject (const string &name, int priority=DEFAULT_PRIORITY) | |
| Constructor, inserts the new object into the object pool of the respective domain under the given name with the assigned priority. | |
Public Member Functions inherited from Wizt::VManagedObject | |
| string | getLoadModule () const |
| Get the name of the module that was active when loading/creating this object. | |
| void | insert (const string &s, int priority=DEFAULT_PRIORITY) |
| Insert new objects into the object data base. | |
| void | remove () |
| Remove this object from the database. | |
| void | setPriority (int priority) |
| Set the priority level in the database list. | |
| VManagedObject (const string &name, int priority=DEFAULT_PRIORITY) | |
| Constructor. | |
| virtual | ~VManagedObject () |
| Virtual destructor. | |
Public Member Functions inherited from MemCore::Intercube | |
| void | addInterface (const RefPtr< InterfaceBase > &I) const |
| Add an interface class object. | |
| template<class Data > | |
| void | addInterfaceData (const Data &D) |
| Add data via an interface class object. | |
| template<class Data , typename TypeSelector > | |
| void | addInterfaceData (const Data &D) |
| Add data via an interface class object. | |
| void | clearInterfaces () |
| Remove all interfaces. | |
| bool | const_iterateInterfaces (const RefPtr< InterfaceIterationParameter > &IIP) const |
| Constant iterator. | |
| virtual RefPtr< InterfaceBase > | createInterface (const type_info &) const |
| Virtual function which allows derived objects to create Interface objects on demand. | |
| RefPtr< InterfaceBase > | findInterface (const type_info &t) const |
| Find a certain interface of specified type. | |
| RefPtr< InterfaceBase > | getInterface (const type_info &t) |
| Retrieve an interface object from a certain type. | |
| std::string | getInterfaceNames (const char delim=';') const |
| Debug function retrieving all interfaces as human-readable string. | |
| template<class Data > | |
| bool | gotNewInterfaceData (const Data &D) |
| Check whether data on the given interface have changed, and if so, set new data as interface. | |
| template<class Data > | |
| bool | gotNewInterfaceData (mutex &M, const Data &D) |
| Check whether interface data have changed, if so, then set new interface data and return true. | |
| template<class Data , typename Selector > | |
| bool | gotNewInterfaceData (mutex &M, const Data &D) |
| Check whether interface data have changed, if so, then set new interface data and return true. | |
| template<class Data , typename Selector > | |
| bool | gotNewInterfaceData (mutex &M, const Data &D, const Selector &S) |
| Check whether interface data have changed, if so, then set new interface data and return true. | |
| template<class Data , typename Selector > | |
| bool | gotNewInterfaceData (mutex &M, const Data &D, const Selector *S) |
| Check whether interface data have changed, if so, then set new interface data and return true. | |
| template<class Data > | |
| bool | hasChangedInterfaceData (const Data &D) const |
| Check whether interface data have changed. | |
| template<class Data , typename Selector > | |
| bool | hasChangedInterfaceData (const Data &D) const |
| Check whether interface data have changed. | |
| template<class Data , typename Selector > | |
| bool | hasChangedInterfaceData (const Data &D, const Selector &) const |
| Check whether interface data have changed. | |
| template<class Data , typename Selector > | |
| bool | hasChangedInterfaceData (const Data &D, const Selector *) const |
| Check whether interface data have changed. | |
| bool | hasInterface (const type_info &t) const |
| Check if some Interface might exist. | |
| Intercube () | |
| Constructor. | |
| bool | iterateInterfaces (const RefPtr< InterfaceIterationParameter > &IIP) |
| Modifyable iterator. | |
| void | printInterfaces () const |
| Debug function that prints the names of all interfaces. | |
| void | registerInterface (const type_info &t) |
| Register an interface type; when the interface is actually required, the virtual createInterface() function will be called. | |
| template<class InterfaceType > | |
| void | removeInterface () |
| Remove an interface. | |
| void | removeInterfaceBase (const type_info &InterfaceBaseID) |
| Remove an interface. | |
| virtual | ~Intercube () |
| Destructor. | |
Public Member Functions inherited from MemCore::MutableName | |
| void | addNameChangeNotifier (const WeakPtr< Notifier > &) |
| Add a new listener. | |
| std::string | BaseName (const char Separator) const |
| return the name of this item cropped anything after the Separator | |
| const std::string & | getName () const |
| The name of the object. | |
| MutableName (const std::string &theName) | |
| Construct from text. | |
| const std::string & | Name () const |
| The name of the object. | |
| void | rename (const std::string &newName) |
| rename, same as setName() | |
| void | setName (const std::string &newName) |
| Set a new name. | |
Public Member Functions inherited from Wizt::VScriptable | |
| RefPtr< VScriptFunctor > | findFunctor (const string &name) const |
| Find a functor. | |
| RefPtr< VScriptFunctor > | insertFunctor (const string &name, const RefPtr< VScriptFunctor > &) |
| Insert a function call, eventually replaces a former call. | |
| bool | iterate (iterator &it) |
| Iterate over all functors. | |
| int | nFunctors () const |
| How many functors are available? | |
| void | removeFunctor (const string &name) |
| Remove a functor. | |
Public Member Functions inherited from Wizt::VTraceRequestID | |
| bool | addRequest (const VRequest &request) |
| Returns false if there is already a request attached. | |
| bool | hasRequest (const VRequest &request) const |
| Check whether a request is just handled. | |
Static Public Member Functions | |
| static const char * | VisibilitySlotName () |
| The name of the slot indicating visibility. | |
Static Public Member Functions inherited from Wizt::VObject | |
| static bool | remove (const string &s) |
| remove an object of the given name from the object database | |
| static int | findOutputObjects (const type_info &Type, OutputObjectIterator &GOutputs) |
| Find all objects that implement a certain output type. | |
| static string | createChildname (const string &parent_name) |
| A static function that is used to create an object's name of this type, when it is created from some parent object. | |
| static VAcceptInfoList_t | accept (const VObjectPtr &vobj) |
| A static function used by the associated creator to determine whether an object of this type may use an given object as input parameter. | |
Static Public Member Functions inherited from Wizt::VConnectable | |
| static bool | attachSlot (const WeakPtr< VSlot > &DestSlot, const RefPtr< VParameter > &ProvidedParam, const string &Member={}) |
| Attach a given parameter to a slot of the current object. | |
| static bool | attachSlot (const WeakPtr< VSlot > &DestSlot, const RefPtr< VSlot > &SourceSlot, const string &Member={}) |
| Attach the source slot's parameter to the destination slot's parameter, overwriting the destination slot's par. | |
| static bool | detachSlot (const RefPtr< VSlot > &SourceSlot) |
| Detach the source slot's parameter by assigning a copy of the parameter to itself. | |
Static Public Member Functions inherited from Wizt::VSlotContainer< ExpertLevel > | |
| static const char * | AttachErrorCodeMessage (AttachErrorCode) |
| Given an error code from one of the attach() functions, return some textual description. | |
| static bool | attachParameter (const RefPtr< VParameter > &theProvidedParam, const WeakPtr< VSlot > &theDestSlot, const string &theMember={}) |
| This function basically does: | |
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) |
| Get, and possibly create, a ValueCache that will be stored at the given Intercube. | |
| static bool | hasChangedSlots (const WeakPtrToVSlotContainer &theSlotOwner, const MemCore::Intercube &IC, const RefPtr< ValuePool > &Context) |
| Check if the given Intercube hosts any VSlots that have been changed relative to the given Context. | |
Static Public Member Functions inherited from Wizt::VSaveable | |
| static VSaveable & | GlobalState () |
| A global saveable object that is supposed to take care of the entire VISH state. | |
Static Public Member Functions inherited from Wizt::VManagedDomainObject< VObject > | |
| static RefPtr< VManagedObject > | find (const string &s) |
| Find an object with a certain name. | |
| static int | iterate (VManagedObjectIterator_t VIt, int p_start=INT_MIN, int p_end=INT_MAX) |
| Iterate through all objects within a given priority range. | |
| static bool | remove (const std::string &s) |
| Remove an compatible object given its name. | |
| static int | size () |
| Tell us how many object of this domain exist. | |
| static int | traverse (VManagedObjectIterator &VIt, int p_start=INT_MIN, int p_end=INT_MAX) |
| Iterate through all objects within a given priority range. | |
Static Public Member Functions inherited from Wizt::VManagedObject | |
| static int | count () |
| How many objects reside in the domain database at all? | |
| static VManagedObjectPtr | find (const type_info &, const std::string &s) |
| Find a certain managed object by its name. | |
| static bool | InitDomain (const type_info &) |
| An initialization function. | |
| static int | iterateModules (ModuleIterator &VIM) |
| Iterate over all modules which have put objects into the object database so far. | |
| static int | size (const type_info &) |
| How many objects reside in the domain database for a certain type? | |
| static int | traverse (const type_info &, VManagedObjectIterator &VIt, int p_start, int p_end) |
| Iterate through a domain for certain levels. | |
| static void | UnloadVModule (const string &what, VRemoveItem &RI) |
| Unload a certain module. | |
Static Public Member Functions inherited from MemCore::MutableName | |
| static std::string | BaseName (const std::string &theName, const char Separator) |
| return the name of this item cropped anything after the Separator | |
Public Attributes | |
| out< double > | outRenderTimeContribution |
| Contribution of this object's rendering time to the overall scene. If the render precision is smaller than 1.0 and this value is large, then this object should really do something to become faster. | |
| in< bool > | Visibility |
| Object visibility. | |
Public Attributes inherited from Wizt::VObject | |
| string | UserInfo |
| An arbitrary text that can be used to store any kind of context information about this object which may be helpful for instance in a graphical user interface. | |
Protected Member Functions | |
| RenderAble (const string &name, int p, const RefPtr< VCreationPreferences > &VP) | |
| constructor, does nothing. | |
| virtual | ~RenderAble ()=0 |
| virtual destructor | |
Protected Member Functions inherited from Wizt::VObject | |
| virtual bool | update (VRequest &, double precision=1.0) |
| Virtual update function that implements some heavy action on the object. | |
| virtual bool | unsychronized_update (VRequest &VR, double precision) |
| Virtual function that is called without synchronization of the object mutex. | |
Protected Member Functions inherited from MemCore::ReferenceBase< VManagedObjectBase > | |
| virtual void | extremeUnction () |
| A virtual function that will be called just before the object is destroyed. | |
| ReferenceBase & | operator= (const ReferenceBase &R) |
| Protected assignment operator (should not be called). | |
| void | suicide () |
| Delete this. | |
| virtual | ~ReferenceBase () |
| Virtual destructor. | |
Protected Member Functions inherited from Wizt::VSlotContainer< ExpertLevel > | |
| virtual void | setup (const CreationSlots_t &CreationSlots) |
| When a VObject is created as a child of an existing VObject, this variant of the setup function is called, telling which slot is the one connected to the object that triggered creation of this one. | |
Additional Inherited Members | |
Public Types inherited from Wizt::VObject | |
| typedef void | AcceptableInputTypes |
| Each VObject may define a set of possible input types, which are types that are provided by some other objects to be used as inputs of this object. | |
| template<int I> | |
| using | Empty = VConnectable::Empty< I > |
| Shortcut typedef to be used in construction of empty slots. | |
| enum | HelpType { PlainText , HelpURL , HTMLText , ShortText , ShortHTMLText } |
| Parameter types for the help() function which may provide information about the current object. More... | |
| using | VObjectIterator_f = std::function< bool(const RefPtr< VObject > &vobj, const VSlot &ChildConnection)> |
| Functor for iterateParents(). | |
Public Types inherited from MemCore::ReferenceBase< VManagedObjectBase > | |
| using | reference_domain_t = VManagedObjectBase |
| The type of the base class. | |
| using | SelfPtr_t = WeakPtr< VManagedObjectBase, VManagedObjectBase > |
| Type for a pointer to this object itself. | |
Public Types inherited from Wizt::VSlotContainer< ExpertLevel > | |
| enum | { AllLevels = INT_MAX } |
| typedef void | AcceptableInputTypes |
| Each VObject may define a set of possible input types, which are types that are provided by some other objects to be used as inputs of this object. | |
| typedef VSlotSet | CreationSlots_t |
| A set of slots. | |
| template<int I> | |
| using | Empty = VSlot::Empty< I > |
| Shortcut typedef to be used in construction of empty slots. | |
| enum | AttachErrorCode { } |
Public Types inherited from Wizt::VSaveable | |
| using | save_iterator = std::function< bool(const string &s, VishSaver &VS)> |
| Callback function to iterate over object savers. | |
Public Types inherited from Wizt::VManagedDomainObject< VObject > | |
| typedef VObject | Domain_t |
| The domain type of this managed object. | |
Public Types inherited from Wizt::RenderNamespace | |
| using | AnyUniform = 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 > |
| A variant that may carry all currently supported data types that can be used as a uniform variable in a GLSL shader. | |
| enum | GeometryInputType |
| Input type for geometry shaders. | |
| enum | GeometryOutputType |
| Output type for geometry shader. | |
| using | glsl = std::string |
| An alias name for strings such that the return value of functions providing GLSL code can be spotted easier. | |
| enum | Primitive { POINTS , LINE_STRIP , LINE_LOOP , LINES , TRIANGLE_STRIP , TRIANGLE_FAN , TRIANGLES , QUAD_STRIP , QUADS , POLYGON , LINES_ADJACENCY , TRIANGLES_ADJACENCY , LINE_STRIP_ADJACENCY , TRIANGLE_STRIP_ADJACENCY } |
| Enumeration type for primitives, similar to OpenGL (but numerically not identical). More... | |
| enum | TextureFormat |
| Enum for the type of texture to be used, implying the number of color channels and their meaning. | |
| enum | VertexAttributeTypes { COORDINATES , NORMALS , COLORS , SECONDARY_COLORS , TEXTURE0 , TEXTURE1 , USER_DEFINED } |
| Categories of vertex attributes for OpenGL default shader attributes, to be used in conjunction with RenderBasin::AttributeNames() and RenderBasin::createVertexAttribute(). More... | |
Static Public Attributes inherited from Wizt::VObject | |
| static constexpr char | NameSeparator = C0::RS |
| The control character used to separate entities of VObject when constructing object names from existing objects. | |
| static constexpr char | SlotNameSeparator = C0::US |
| The control character used to separate entities of VObject from slot names. | |
Static Public Attributes inherited from Wizt::VSlotContainer< ExpertLevel > | |
Static Public Attributes inherited from Wizt::VManagedObject | |
| static string | CurrentLoadModule |
| The name of the current shared library/DLL/plugin which provides the code of the currently loaded objects. | |
Protected Types inherited from Wizt::VObject | |
| typedef bool(* | UpdateFunction) (VObject *, VRequest &, double precision) |
| Update function pointers which may be used to ensure being called base classes also when a derived class fully overloads the update() function itself. | |
Protected Attributes inherited from Wizt::VObject | |
| MemCore::Counter | UpdateCounter |
| A counter telling if this object is currently being updated. | |
| MemCore::Counter | RequestCounter |
| A counter telling if this object is currently being under a request. | |
Related Symbols inherited from Wizt::VObject | |
| void | iterateParents (VObjectIterator &VOI, int EL=0) const |
| Iterate over all the parent objects that drive this VObject. | |
| int | iterateParents (const VObjectIterator_f &VOI, int EL=0) const |
| Iterate over all the parent objects that drive this VObject. | |
| static RefPtr< VParameter > | findUniqueOutputObject (const type_info &Type, const RefPtr< VCreationPreferences > &VCP, bool ReallyUnique, const VObject *NotThisOne) |
| Find an existing VObject that implements the specified type, returning exactly that parameter which implements this type. | |
Related Symbols inherited from Wizt::VSlotContainer< ExpertLevel > | |
| bool | CheckIfThereExistNewerOutputs (const VRequest &request, bool AdjustObjectAge) const |
| Check if there are outputs in this very object that are newer (more recent) than this object itself. | |
Abstract base class for objects that can be rendered.
Such objects provide an output of type VRenderAble .
| struct Wizt::RenderAble::RenderTime |
Render this object (calling safe_render() ) including timing measurements.
This is the preferred methods on how objects are rendered. This function will catch exceptions and print them on the console, so it is safe to call. If an application wants to do something about render exceptions, then do not call this function but use safe_render() instead. All units are in seconds.
|
pure virtual |
A render routine which may change the state of OpenGL for all subsequent renderings.
Use this function overload with care! By default, it saves the OpenGL state, calls the render() routine, and restores the OpenGL state.
Implemented in Wizt::Bokeh, Wizt::VCameraLens, Wizt::VStereoLens, GeoCameraLens, Wizt::CrossSectionCam, Wizt::BaseCursor3D, Wizt::ShaderLightSource, Wizt::VGLRenderObject, and Wizt::VCameraBase.
Referenced by safe_render(), and Wizt::VRenderObject::safe_render().
|
virtual |
Retrieve the bounding volume of the object.
By default, it reads out the interface of the local VObject::State object.
Reimplemented in Wizt::VRenderObject, and Wizt::MSDeferredObjectDisplay.
References Wizt::VStateCreatorBase::myState().
Referenced by getTouchableBoundingBall().
|
virtual |
Getting the time from the last rendering call.
This function should not be called right after rendering because GPU timers will be available delayed.
|
virtual |
A realtime-feedback callback function to allow each render object add provide information to be displayed for a certain mouse cursor location.
This function is called any time when the mouse is moving over the viewer window. It is called independently of any render() calls, and independent of any update() calls. Its information is based on the currently visible content of the opengl framebuffer.
It is called from the OpenGL render thread and an implementation \i may contain OpenGL calls. However, such should be avoided. A possible scenario is to retrieve the OpenGL matrices to allow interpreting the ScreenDepth in physical coordinates as related to the current mouse cursor.
Reimplemented in Wizt::BaseCursor3D.
|
virtual |
Retrieve the bounding volume of the object as far as it concerns camera navigation.
By default, this is identical to the entire volume as returned by getBoundingBall(), but it may be different if navigation around a particular subset of the visible object shall be enabled.
References getBoundingBall().
|
virtual |
Calls the render function with pushing/popping the modelview matrix.
| Z | The starting depth |
| dZ | The depth thickness; if negative, draw all. |
Reimplemented in Wizt::VRenderObject.
References environment_render(), MemCore::Exception::sourcefilelinenumber, and MemCore::Exception::sourcefilename.