|
AGX Dynamics 2.42.2.1
|
Internal data for any object, ObjT, with methods: agx::Referenced* ObjT::getInternalData() const; void ObjT::setInternalData( agx::Referenced* data );. More...
#include <InternalData.h>
Inheritance diagram for agx::InternalData:Public Types | |
| enum | Source { WIRE , MERGED_BODY , MERGE_SPLIT , DEFORMABLE1D , RIGID_BODY_EMITTER , LINKED_STRUCTURE , ENERGY , SENSOR_ENVIRONMENT , NUM_SOURCES } |
| Source of internal data. More... | |
Static Public Member Functions | |
| template<typename DataT , typename ObjT > | |
| static DataT * | get (const ObjT &obj, Source source) |
| Get already created data of the internal data. | |
| template<typename DataT , typename ObjT , typename... Args> | |
| static DataT * | getOrCreate (ObjT obj, Source source, Args &&... args) |
| Get already created data or create new instance of the internal data. | |
| template<typename ObjT > | |
| static agx::Bool | hasData (const ObjT &obj, Source source) |
| template<typename ObjT > | |
| static void | set (ObjT obj, agx::Referenced *data, Source source) |
| Assign data to source. | |
Static Public Member Functions inherited from agx::Referenced | |
| template<typename T > | |
| static bool | ValidateCast (const Referenced *object) |
Protected Member Functions | |
| virtual | ~InternalData () |
| Reference counted object, protected destructor. | |
Protected Member Functions inherited from agx::Referenced | |
| virtual | ~Referenced () |
| Destructor. | |
| void | allocateObserverVector () const |
| void | deleteUsingDeleteHandler () const |
Additional Inherited Members | |
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 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. | |
Protected Attributes inherited from agx::Referenced | |
| Mutex | m_mutex |
| ObserverContainer | m_observers |
| AtomicValue | m_refCount |
Internal data for any object, ObjT, with methods: agx::Referenced* ObjT::getInternalData() const; void ObjT::setInternalData( agx::Referenced* data );.
For now, add type of object to the Source enum.
Definition at line 32 of file InternalData.h.
Source of internal data.
I.e., the object/algorithm that's handling the data.
Definition at line 39 of file InternalData.h.
|
inlineprotectedvirtual |
Reference counted object, protected destructor.
Definition at line 92 of file InternalData.h.
|
static |
Get already created data of the internal data.
Returns null if obj is null or if no data has been assigned.
| obj | - object to receive data from (or create if first call) |
| source | - source object/algorithm for the data |
obj Definition at line 124 of file InternalData.h.
References agx::Referenced::as().
|
static |
Get already created data or create new instance of the internal data.
obj has to be a valid pointer. | obj | - object to receive data from (or create if first call) |
| source | - source object/algorithm for the data |
obj Definition at line 112 of file InternalData.h.
References agxAssert, and agx::Referenced::as().
|
static |
Definition at line 145 of file InternalData.h.
|
static |
Assign data to source.
| obj | - object to assign internal data to |
| data | - data to assign (may be null) |
| source | - source object/algorithm for the data |
Definition at line 131 of file InternalData.h.