AGX Dynamics 2.41.3.0
Loading...
Searching...
No Matches
agx::Pointer Class Reference

A pointer to an agx::Object. More...

#include <Pointer.h>

+ Inheritance diagram for agx::Pointer:

Public Member Functions

 Pointer (const agx::Name &name, agx::Object *target, const agx::String &autoBindPath="")
 
 Pointer (const agx::Name &name, const agx::String &autoBindPath="")
 
virtual bool bind (agx::Object *object) override
 Bind the pointer to an object.
 
virtual void buildNavigationTree (agxJson::Value &eNode) const override
 
virtual void configure (TiXmlElement *ePointer) override
 
Objectget ()
 
template<typename T >
T * get ()
 
const Objectget () const
 
template<typename T >
const T * get () const
 
void unbind ()
 Unbind the pointer.
 
- Public Member Functions inherited from agxData::Value
 Value (const agx::Name &name, const agxData::Format *format)
 
 Value (const agx::Name &name, const agxData::Type *type)
 
 Value (const agxData::Format *format)
 
 Value (const agxData::Type *type)
 
void addListener (EventListener *listener)
 
void bind (const agx::Path &path)
 Set bind path which will auto-bind when resolved.
 
void bind (Value *binding)
 Explicit binding, also disables auto-binding.
 
virtual void buildNavigationTree (agxJson::Value &eNode) const override
 
Valueclone () const
 
virtual void configure (agx::TiXmlElement *eValue) override
 
template<typename T >
const T & get () const
 
ValuegetBinding ()
 
const ValuegetBinding () const
 
const agx::PathgetBindPath () const
 
virtual agxData::DatagetData ()
 
agxData::FormatgetFormat ()
 
const agxData::FormatgetFormat () const
 
ValuegetRootBinding ()
 
const ValuegetRootBinding () const
 
agxData::TypegetType ()
 
const agxData::TypegetType () const
 
bool hasListener (EventListener *listener)
 
bool isTypeCompatible (const Value *other)
 
bool isValid () const
 
void print () const
 
void * ptr ()
 
const void * ptr () const
 
virtual void rebind () override
 Rebind with the current auto-bind path.
 
void removeListener (EventListener *listener)
 
virtual void save (agx::TiXmlElement *eParent) const override
 
template<typename T >
void set (const T &value)
 
void set (const Value *other)
 Explicitly set the value, removes active binding and disables autobinding.
 
void set (const ValueRef &other)
 
void set (Value *other)
 
void set (ValueRef &other)
 
void setDefaultValue ()
 Set the default value of the format.
 
void setExpression (const agx::String &expression)
 Configure value using an expression.
 
void setFormat (agxData::Format *format)
 
template<typename T >
void signal (const T &value)
 Wrapper for this->getRootBinding()->set()
 
virtual void snapshot (agx::TiXmlNode *eParent, const agx::String &directory) const override
 
agx::String toString () const
 
template<typename T >
transform () const
 
void unbind (bool removeAutoBindPath=true)
 Unbind, also disables auto-binding.
 
- 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::ObjectgetAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr)
 
const agx::ObjectgetAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr) const
 
agx::ObjectgetContext ()
 
template<typename T >
T * getContext ()
 
const agx::ObjectgetContext () const
 
template<typename T >
const T * getContext () const
 
agx::UInt32 getId () const
 
const agx::NamegetImplementationName () const
 
agx::ModelgetModel ()
 
const agx::ModelgetModel () const
 
const agx::NamegetName () const
 
agx::ObjectgetNextSibling ()
 
const agx::ObjectgetNextSibling () 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::ObjectgetResource (const agx::Path &path, agx::Model *model=nullptr)
 
const agx::ObjectgetResource (const agx::Path &path, agx::Model *model=nullptr) const
 
virtual agx::ObjectgetResourceImpl (const agx::Path &path, agx::Model *model)
 
agx::ObjectgetRootContext ()
 
const agx::ObjectgetRootContext () 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.
 
Referencedoperator= (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::ModelClassModel ()
 
static Pointerload (TiXmlElement *ePointer, Device *device)
 
- Static Public Member Functions inherited from agxData::Value
static agx::ModelClassModel ()
 
static void copy (Value *target, const Value *source)
 
static Valueload (agx::TiXmlElement *eValue, agx::Device *device)
 
- Static Public Member Functions inherited from agx::Object
static agx::ModelClassModel ()
 
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 Objectload (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 Objectload (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 Objectload (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)
 

Protected Member Functions

virtual ~Pointer ()
 
virtual void destroyCallback (agx::Object *object) override
 
virtual ObjectgetResourceImpl (const Path &path, agx::Model *model) override
 
- Protected Member Functions inherited from agxData::Value
virtual ~Value ()
 
virtual bool bind (Object *object)
 
void forceRemove ()
 
- 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
 

Additional Inherited Members

- Public Types inherited from agxData::Value
typedef agx::Event1< Value * > Event
 
- Public Types inherited from agx::Object
typedef agx::observer_ptr< const EventEventConstObserver
 
typedef agx::ref_ptr< const EventEventConstRef
 
typedef agx::observer_ptr< EventEventObserver
 
typedef agx::Vector< EventObserverEventObserverVector
 
typedef agx::VectorPOD< Event * > EventPtrVector
 
typedef agx::ref_ptr< EventEventRef
 
typedef agx::Vector< EventRefEventRefVector
 
- Public Attributes inherited from agxData::Value
Event updateEvent
 Triggered when the value is updated.
 
- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandlergetDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 
- Protected Attributes inherited from agxData::Value
agx::UInt32 m_allocationIndex
 
ValueRef m_binding
 
EventListener m_bindingListener
 
agx::Path m_bindPath
 
ValuePtrVector m_children
 
EventDispatch m_eventDispatch
 
FormatRef m_format
 
bool m_restartIteration
 
AbstractScalar m_value
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Detailed Description

A pointer to an agx::Object.

The pointer itself is an object and can have a name and be inserted into the system hierarchy.

Definition at line 34 of file Pointer.h.

Constructor & Destructor Documentation

◆ Pointer() [1/2]

agx::Pointer::Pointer ( const agx::Name name,
const agx::String autoBindPath = "" 
)

◆ Pointer() [2/2]

agx::Pointer::Pointer ( const agx::Name name,
agx::Object target,
const agx::String autoBindPath = "" 
)

◆ ~Pointer()

virtual agx::Pointer::~Pointer ( )
protectedvirtual

Member Function Documentation

◆ bind()

virtual bool agx::Pointer::bind ( agx::Object object)
overridevirtual

Bind the pointer to an object.

◆ buildNavigationTree()

virtual void agx::Pointer::buildNavigationTree ( agxJson::Value &  eNode) const
overridevirtual

Reimplemented from agxData::Value.

◆ ClassModel()

static agx::Model * agx::Pointer::ClassModel ( )
static

◆ configure()

virtual void agx::Pointer::configure ( TiXmlElement *  ePointer)
overridevirtual

Reimplemented from agx::Object.

◆ destroyCallback()

virtual void agx::Pointer::destroyCallback ( agx::Object object)
overrideprotectedvirtual

◆ get() [1/4]

Object * agx::Pointer::get ( )
Returns
The current binding.

Definition at line 150 of file Pointer.h.

◆ get() [2/4]

template<typename T >
T * agx::Pointer::get

Definition at line 154 of file Pointer.h.

◆ get() [3/4]

const Object * agx::Pointer::get ( ) const

Definition at line 151 of file Pointer.h.

◆ get() [4/4]

template<typename T >
const T * agx::Pointer::get

Definition at line 157 of file Pointer.h.

◆ getResourceImpl()

virtual Object * agx::Pointer::getResourceImpl ( const Path path,
agx::Model model 
)
overrideprotectedvirtual

Reimplemented from agx::Object.

◆ load()

static Pointer * agx::Pointer::load ( TiXmlElement *  ePointer,
Device device 
)
static

◆ unbind()

void agx::Pointer::unbind ( )

Unbind the pointer.


The documentation for this class was generated from the following file: