|
AGX Dynamics 2.42.3.1
|
A representation of a task/kernel parameter, which can be bound using a string path or explicitly to a data node. More...
#include <Parameter.h>
Inheritance diagram for agx::Parameter:Public Types | |
| typedef Event1< Parameter * > | Event |
| enum | MetaType { SCALAR , ARRAY , POINTER , ENTITY_DATA , ENTITY_PTR , ENTITY_INSTANCE , UNRESOLVED } |
| Specify which kind of parameter. More... | |
Public Types inherited from agx::Object | |
| typedef agx::observer_ptr< const Event > | EventConstObserver |
| typedef agx::ref_ptr< const Event > | EventConstRef |
| typedef agx::observer_ptr< Event > | EventObserver |
| typedef agx::Vector< EventObserver > | EventObserverVector |
| typedef agx::VectorPOD< Event * > | EventPtrVector |
| typedef agx::ref_ptr< Event > | EventRef |
| typedef agx::Vector< EventRef > | EventRefVector |
Public Member Functions | |
| void | bind (agx::Object *binding) |
| Set explicit binding. | |
| void | bind (const agx::Path &path) |
| Set parameter bind path. | |
| virtual void | commit ()=0 |
| UInt8 | getAccessMode () const |
| agx::Object * | getBinding () |
| const agx::Object * | getBinding () const |
| const agx::Path & | getBindPath () const |
| agxData::Format * | getFormat () |
| const agxData::Format * | getFormat () const |
| size_t | getIndex () const |
| MetaType | getMetaType () const |
| const agx::String & | getMetaTypeName () const |
| virtual Object * | getResourceImpl (const Path &path, agx::Model *model) override |
| agx::Task * | getTask () |
| const agx::Task * | getTask () const |
| virtual agxData::Type * | getType () |
| virtual const agxData::Type * | getType () const |
| virtual bool | hasGlobalResult () const |
| bool | isRequired () const |
| virtual bool | isValid () const =0 |
| bool | needCommit () |
| bool | needUpdate () |
| virtual void | rebind () override |
| void | set (agx::Object *binding) |
| Set the parameter, alias for bind. | |
| void | setRequired (bool flag) |
| Set if the parameter is required, default is true. | |
| void | unbind () |
| Remove current binding and bind path. | |
| virtual void | update ()=0 |
Public Member Functions inherited from agx::Object | |
| Object (const Name &name=Name(), Model *model=Object::ClassModel()) | |
| void | addListener (EventListener *listener) |
| virtual void | buildNavigationTree (agxJson::Value &eNode) const |
| virtual void | configure (TiXmlElement *) |
| agx::String | fullName () const |
| agx::String | fullPath () const |
| agx::String | fullPath (const agx::Object *root) const |
| template<typename T > | |
| T * | getAutoScopedResource (const agx::Path &path) |
| template<typename T > | |
| const T * | getAutoScopedResource (const agx::Path &path) const |
| agx::Object * | getAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr) |
| const agx::Object * | getAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr) const |
| agx::Object * | getContext () |
| template<typename T > | |
| T * | getContext () |
| const agx::Object * | getContext () const |
| template<typename T > | |
| const T * | getContext () const |
| agx::UInt32 | getId () const |
| const agx::Name & | getImplementationName () const |
| agx::Model * | getModel () |
| const agx::Model * | getModel () const |
| const agx::Name & | getName () const |
| agx::Object * | getNextSibling () |
| const agx::Object * | getNextSibling () const |
| agx::Path | getPath () const |
| agx::Path | getPath (const agx::Object *root) const |
| template<typename T > | |
| T * | getResource (const agx::Path &path) |
| template<typename T > | |
| const T * | getResource (const agx::Path &path) const |
| agx::Object * | getResource (const agx::Path &path, agx::Model *model=nullptr) |
| const agx::Object * | getResource (const agx::Path &path, agx::Model *model=nullptr) const |
| virtual agx::Object * | getResourceImpl (const agx::Path &path, agx::Model *model) |
| agx::Object * | getRootContext () |
| const agx::Object * | getRootContext () const |
| bool | hasListener (EventListener *listener) |
| bool | hasParent (const agx::Object *node) const |
| bool | isUnique () const |
| virtual void | printSubtree () const |
| virtual void | rebind () |
| void | removeListener (EventListener *listener) |
| virtual void | save (TiXmlElement *) const |
| virtual void | setContext (agx::Object *context) |
| void | setId (UInt32 id) |
| void | setModel (agx::Model *model) |
| Set the object model (handled automatically). | |
| void | setName (const agx::Name &name) |
| Set the name of the object. | |
| virtual void | snapshot (TiXmlNode *, const String &) const |
Public Member Functions inherited from agx::Referenced | |
| Referenced () | |
| Default constructor. | |
| Referenced (const Referenced &) | |
| template<typename T > | |
| T * | as () |
| Subclass casting. | |
| template<typename T > | |
| const T * | as () const |
| template<typename T > | |
| T * | asSafe () |
| Safe subclass casting, return nullptr if template type does not match. | |
| template<typename T > | |
| const T * | asSafe () const |
| int | getReferenceCount () const |
| template<typename T > | |
| bool | is () const |
| Subclass test. | |
| Referenced & | operator= (const Referenced &) |
| Assignment operator. Will increment the number of references to the referenced object. | |
| void | reference (void *ptr=nullptr) const |
| Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it. | |
| void | unreference (void *ptr=nullptr) const |
| Decrement the reference count by one, indicating that a pointer to this object is referencing it. | |
| void | unreference_nodelete () const |
| Decrement the reference count by one, indicating that a pointer to this object is referencing it. | |
Static Public Member Functions | |
| static agx::Model * | ClassModel () |
Static Public Member Functions inherited from agx::Object | |
| static agx::Model * | ClassModel () |
| static agx::String | generateName (const agx::String &bindPath) |
| static const HashSet< Object * > & | getActiveObjects () |
| static bool | getEnableRebind () |
| Should rebinding be allowed? Right now a global setting. | |
| static Object * | load (const String &path, Device *device, const String &type, const String &attribute, const String &value) |
| template<typename T > | |
| static T * | load (const String &path, Device *device, const String &type, const String &attribute, const String &value) |
| static Object * | load (const String &path, Device *device, const String &type="", size_t instance=0) |
| template<typename T > | |
| static T * | load (const String &path, Device *device, const String &type="", size_t instance=0) |
| static void | load (const String &path, Device *device, ObjectPtrVector &loadedObjects) |
| static Object * | load (TiXmlElement *eObject, Device *device) |
| template<typename T > | |
| static T * | load (TiXmlElement *eObject, Device *device) |
| static TiXmlDocument | openDocument (const String &path) |
| static void | setEnableRebind (bool flag) |
| Sets if rebinding of objects should be allowed (Right now a global setting). | |
Static Public Member Functions inherited from agx::Referenced | |
| template<typename T > | |
| static bool | ValidateCast (const Referenced *object) |
Public Attributes | |
| Event | bindEvent |
| Event | unbindEvent |
| Event | updateEvent |
Protected Member Functions | |
| Parameter (Model *model, MetaType type, const Name &name, agxData::Format *format, UInt8 accessMode, const Path &bindPath=Path()) | |
| virtual | ~Parameter () |
| virtual void | _bind (Object *binding)=0 |
Protected Member Functions inherited from agx::Object | |
| virtual | ~Object () |
Protected Member Functions inherited from agx::Referenced | |
| virtual | ~Referenced () |
| Destructor. | |
| void | allocateObserverVector () const |
| void | deleteUsingDeleteHandler () const |
Protected Attributes | |
| const UInt8 | m_accessMode |
| ObjectObserver | m_binding |
| Path | m_bindPath |
| agxData::FormatRef | m_format |
| size_t | m_index |
| UInt8 | m_metaType |
| bool | m_needCommit |
| bool | m_needUpdate |
| bool | m_required |
| Task * | m_task |
Protected Attributes inherited from agx::Referenced | |
| Mutex | m_mutex |
| ObserverContainer | m_observers |
| AtomicValue | m_refCount |
Additional Inherited Members | |
Static Protected Member Functions inherited from agx::Referenced | |
| static DeleteHandler * | getDeleteHandler () |
| static void | setDeleteHandler (DeleteHandler *handler) |
| Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to. | |
A representation of a task/kernel parameter, which can be bound using a string path or explicitly to a data node.
Definition at line 61 of file Parameter.h.
| typedef Event1<Parameter *> agx::Parameter::Event |
Definition at line 66 of file Parameter.h.
Specify which kind of parameter.
| Enumerator | |
|---|---|
| SCALAR | |
| ARRAY | |
| POINTER | |
| ENTITY_DATA | |
| ENTITY_PTR | |
| ENTITY_INSTANCE | |
| UNRESOLVED | |
Definition at line 72 of file Parameter.h.
|
protected |
|
protectedvirtual |
|
protectedpure virtual |
| void agx::Parameter::bind | ( | agx::Object * | binding | ) |
Set explicit binding.
| void agx::Parameter::bind | ( | const agx::Path & | path | ) |
Set parameter bind path.
|
static |
|
pure virtual |
| UInt8 agx::Parameter::getAccessMode | ( | ) | const |
Definition at line 702 of file Parameter.h.
References m_accessMode.
| Object * agx::Parameter::getBinding | ( | ) |
Definition at line 704 of file Parameter.h.
References m_binding.
| const Object * agx::Parameter::getBinding | ( | ) | const |
Definition at line 705 of file Parameter.h.
References m_binding.
| const Path & agx::Parameter::getBindPath | ( | ) | const |
Definition at line 703 of file Parameter.h.
References m_bindPath.
| agxData::Format * agx::Parameter::getFormat | ( | ) |
| const agxData::Format * agx::Parameter::getFormat | ( | ) | const |
Definition at line 701 of file Parameter.h.
References m_format.
| size_t agx::Parameter::getIndex | ( | ) | const |
| Parameter::MetaType agx::Parameter::getMetaType | ( | ) | const |
| const agx::String & agx::Parameter::getMetaTypeName | ( | ) | const |
|
overridevirtual |
Reimplemented from agx::Object.
Reimplemented in agx::ScalarParameter, agx::ArrayParameter, agx::PointerParameter, and agx::EntityDataParameter.
| Task * agx::Parameter::getTask | ( | ) |
Definition at line 695 of file Parameter.h.
References m_task.
| const Task * agx::Parameter::getTask | ( | ) | const |
Definition at line 696 of file Parameter.h.
References m_task.
|
virtual |
Reimplemented in agx::UnresolvedParameter, and agx::ArrayParameter.
Definition at line 706 of file Parameter.h.
References m_format.
|
virtual |
Reimplemented in agx::UnresolvedParameter, and agx::ArrayParameter.
Definition at line 707 of file Parameter.h.
References m_format.
|
virtual |
Reimplemented in agx::ArrayParameter, and agx::EntityDataParameter.
| bool agx::Parameter::isRequired | ( | ) | const |
Definition at line 699 of file Parameter.h.
References m_required.
Referenced by agx::PointerParameter::get().
|
pure virtual |
Implemented in agx::UnresolvedParameter, agx::ScalarParameter, agx::ArrayParameter, agx::PointerParameter, agx::EntityDataParameter, agx::EntityPtrParameter, and agx::EntityInstanceParameter.
| bool agx::Parameter::needCommit | ( | ) |
Definition at line 709 of file Parameter.h.
References m_needCommit.
| bool agx::Parameter::needUpdate | ( | ) |
Definition at line 708 of file Parameter.h.
References m_needUpdate.
|
overridevirtual |
Reimplemented from agx::Object.
| void agx::Parameter::set | ( | agx::Object * | binding | ) |
Set the parameter, alias for bind.
| void agx::Parameter::setRequired | ( | bool | flag | ) |
Set if the parameter is required, default is true.
| void agx::Parameter::unbind | ( | ) |
Remove current binding and bind path.
Referenced by agx::ScalarParameter::set().
|
pure virtual |
| Event agx::Parameter::bindEvent |
Definition at line 67 of file Parameter.h.
|
protected |
Definition at line 203 of file Parameter.h.
Referenced by getAccessMode().
|
protected |
Definition at line 202 of file Parameter.h.
Referenced by agx::PointerParameter::get(), getBinding(), and agx::ScalarParameter::set().
|
protected |
Definition at line 201 of file Parameter.h.
Referenced by getBindPath().
|
protected |
Definition at line 200 of file Parameter.h.
Referenced by agx::ArrayParameter::get(), agx::ScalarParameter::get(), getFormat(), and getType().
|
protected |
Definition at line 199 of file Parameter.h.
Referenced by getIndex().
|
protected |
Definition at line 205 of file Parameter.h.
Referenced by getMetaType().
|
protected |
Definition at line 207 of file Parameter.h.
Referenced by needCommit().
|
protected |
Definition at line 206 of file Parameter.h.
Referenced by needUpdate().
|
protected |
Definition at line 204 of file Parameter.h.
Referenced by agx::ArrayParameter::get(), and isRequired().
|
protected |
Definition at line 198 of file Parameter.h.
Referenced by getTask().
| Event agx::Parameter::unbindEvent |
Definition at line 68 of file Parameter.h.
| Event agx::Parameter::updateEvent |
Definition at line 69 of file Parameter.h.