|
VR-Engage
2.2
|
This class provides a mechanism for registering callbacks that are triggered when attributes are changed. It maintains a list of connected attributes and manages the lifecycle of these connections.
This is a type-agnostic callback. It passes to the callback function an un-typed DtAttributeHandle representing the attribute which was changed. If includeChildren is set false (default), then this will be the same attribute to which the callback was connected. If includeChildren is set true, the changed attribute may also be any child of the connected attribute.
#include <attributeCallback.h>
Public Member Functions | |
| template<class OBJECT_T> | |
| DtAttributeChangeCallback (OBJECT_T *object, void(OBJECT_T::*method)(const DtAttributeHandle &)) | |
| DtAttributeChangeCallback (void(*func)(const DtAttributeHandle &)) | |
| virtual | ~DtAttributeChangeCallback () override |
| virtual void | includeChildren (bool on) |
| virtual bool | includesChildren () const |
Public Member Functions inherited from makVre::DtAttributeCallbackBase | |
| DtAttributeCallbackBase () | |
| virtual | ~DtAttributeCallbackBase () |
| virtual void | connect (DtAttributeHandle attribute) |
| virtual void | disconnect (DtAttributeHandle attribute) |
| virtual void | disconnectAll () |
| virtual bool | isConnected (const DtAttributeHandle &attribute) const |
| virtual bool | hasConnection () const |
| virtual unsigned int | threadId () const |
Public Member Functions inherited from makVre::DtDelegate< void, const DtAttributeHandle & > | |
| DtDelegate ()=default | |
| DtDelegate (void(*func)(Args...)) | |
| DtDelegate (T *object, Method method) | |
| DtDelegate (const T *object, Method method) | |
| DtDelegate (Callable &&callable) | |
| DtDelegate (const DtDelegate &other) | |
| DtDelegate (DtDelegate &&other) noexcept | |
| ~DtDelegate ()=default | |
| DtDelegate & | operator= (const DtDelegate &other) |
| DtDelegate & | operator= (DtDelegate &&other) noexcept |
| void | reset () noexcept |
| void | operator() (CallArgs &&... args) const |
| void | operator() (CallArgs &&... args) const |
| operator bool () const noexcept | |
| std::size_t | hash () const noexcept |
| bool | operator== (const DtDelegate &rhs) const noexcept |
| bool | operator!= (const DtDelegate &rhs) const noexcept |
| DelegateType | getType () const noexcept |
Protected Member Functions | |
| virtual void | invoke (const DtAttributeHandle &changedAttribute) const override |
Protected Member Functions inherited from makVre::DtDelegate< void, const DtAttributeHandle & > | |
| void | computeHash () noexcept |
| void | resetHash () const noexcept |
Protected Attributes | |
| bool | myIncludeChildren = false |
Protected Attributes inherited from makVre::DtAttributeCallbackBase | |
| AttributeList | myConnections |
| unsigned int | myThreadId |
Protected Attributes inherited from makVre::DtDelegate< void, const DtAttributeHandle & > | |
| std::function< void(Args...)> | myFunction |
| DelegateType | myType |
| std::size_t | myObjectHash |
| std::size_t | myStaticFuncHash |
| std::size_t | myMethodHash |
| std::size_t | myLambdaHash |
| std::size_t | myHash |
| bool | myHashComputed |
Additional Inherited Members | |
Public Types inherited from makVre::DtDelegate< void, const DtAttributeHandle & > | |
| enum | DelegateType |
Static Public Member Functions inherited from makVre::DtDelegate< void, const DtAttributeHandle & > | |
| static std::size_t | hashMethodPtr (const Method &method) noexcept |
| static std::size_t | hashPtr (PtrType ptr) noexcept |
| static std::size_t | hashLambda (const Callable &callable) noexcept |
Protected Types inherited from makVre::DtAttributeCallbackBase | |
| using | AttributeList = std::list<DtAttributeHandle> |
| makVre::DtAttributeChangeCallback::DtAttributeChangeCallback | ( | OBJECT_T * | object, |
| void(OBJECT_T::* | method )(const DtAttributeHandle &) ) |
Constructor for attribute callbacks using member functions.
| OBJECT_T | Type of the object containing the method |
| object | Pointer to the object containing the method |
| method | Method pointer to be called when an attribute changes |
| makVre::DtAttributeChangeCallback::DtAttributeChangeCallback | ( | void(* | func )(const DtAttributeHandle &) | ) |
Constructor for attribute callbacks using static function.
| func | Pointer to function to be called when attribute changes |
|
overridevirtual |
Virtual destructor.
Automatically disconnects from all connected attributes
|
virtual |
Set whether this callback should also be invoked for any change to any child attribute.
| on | Set true for callbacks on change to any child. Set false for callbacks only to the connected attribute. Default is false. |
Check current state with includesChildren()
|
virtual |
Get whether this callback is set to trigger on changes to child attributes.
Set state with includeChildren(bool on)
|
overrideprotectedvirtual |
Implements makVre::DtAttributeCallbackBase.
|
protected |
Defines whether this callback is also invoked for any changes to children of the connected attribute.