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

Pointer to a entity instance of type Referenced. More...

#include <ReferencedEntity.h>

+ Inheritance diagram for agx::ReferencedPtr:

Public Types

typedef ReferencedData DataType
 
typedef ReferencedInstance InstanceType
 
typedef ReferencedModel ModelType
 

Public Member Functions

AGXCORE_EXPORT ReferencedPtr ()
 
AGXCORE_EXPORT ReferencedPtr (agxData::EntityStorage *storage, agx::Index id)
 
AGXCORE_EXPORT ReferencedPtr (const agxData::EntityInstance &instance)
 
AGXCORE_EXPORT ReferencedPtr (const agxData::EntityPtr &ptr)
 
ReferencedData * getData ()
 
const ReferencedData * getData () const
 
AGXCORE_EXPORT ReferencedInstance instance ()
 
AGXCORE_EXPORT const ReferencedInstance instance () const
 
AGXCORE_EXPORT agx::SpinMutexobserverMutex ()
 
AGXCORE_EXPORT agx::SpinMutex const & observerMutex () const
 
AGXCORE_EXPORT agx::Vector< agxData::EntityPtr * > & observers ()
 
AGXCORE_EXPORT agx::Vector< agxData::EntityPtr * > const & observers () const
 
AGXCORE_EXPORT ReferencedSemantics * operator-> ()
 
AGXCORE_EXPORT const ReferencedSemantics * operator-> () const
 
AGXCORE_EXPORT ReferencedPtroperator= (const agxData::EntityInstance &instance)
 
AGXCORE_EXPORT ReferencedPtroperator= (const agxData::EntityPtr &ptr)
 
AGXCORE_EXPORT agx::UInt32referenceCount ()
 
AGXCORE_EXPORT agx::UInt32 const & referenceCount () const
 
- Public Member Functions inherited from agxData::EntityPtr
 EntityPtr ()
 
 EntityPtr (agxData::EntityStorage *storage, agx::Index id)
 
 EntityPtr (const agxData::EntityInstance &instance)
 
 EntityPtr (const agxData::EntityPtr &other)=default
 
 ~EntityPtr ()=default
 
agx::Index calculateIndex () const
 Calculate the index using the indirect id.
 
agxData::EntityPtr copy ()
 Create a copy instance in the same storage.
 
agxData::EntityPtr copy (agxData::EntityStorage *target)
 Copy instance to another storage.
 
void copyAttributes (agxData::EntityPtr source)
 Copy instance attributes to an existing target instance.
 
template<typename T >
T & dataSet ()
 
template<typename T >
const T & dataSet () const
 
void destroy ()
 Remove the entity from the active storage.
 
agxData::EntityData * getData ()
 
const agxData::EntityData * getData () const
 
agx::Index getId () const
 
agxData::EntityModelgetModel ()
 
const agxData::EntityModelgetModel () const
 
agxData::EntityStoragegetStorage () const
 
agx::UInt32 hash () const
 
void init (agxData::EntityStorage *storage, agx::Index id)
 Set the target storage and id.
 
agxData::EntityInstance instance ()
 
const agxData::EntityInstance instance () const
 
void invalidate ()
 Invalidate the entity pointer.
 
bool isInstanceOf (agxData::EntityModel *model) const
 
bool isValid () const
 
 operator bool () const
 
bool operator! () const
 
bool operator!= (const EntityPtr &rhs) const
 
template<typename T >
agxData::ArrayAttributeT< T >::Type & operator() (const agxData::ArrayAttributeT< T > *attribute)
 Array attribute.
 
template<typename T >
const agxData::ArrayAttributeT< T >::Type & operator() (const agxData::ArrayAttributeT< T > *attribute) const
 
template<typename T >
agxData::HashSetAttributeT< T >::Type & operator() (const agxData::HashSetAttributeT< T > *attribute)
 HashSet attribute.
 
template<typename T >
const agxData::HashSetAttributeT< T >::Type & operator() (const agxData::HashSetAttributeT< T > *attribute) const
 
template<typename T >
T & operator() (const agxData::PointerAttributeT< T > *attribute)
 Pointer attribute.
 
template<typename T >
const T & operator() (const agxData::PointerAttributeT< T > *attribute) const
 
template<typename T >
T & operator() (const agxData::ScalarAttributeT< T > *attribute)
 Access the value of a specific attribute.
 
template<typename T >
const T & operator() (const agxData::ScalarAttributeT< T > *attribute) const
 
template<typename T >
T & operator() (const agxData::SharedAttributeT< T > *attribute)
 Shared attribute.
 
template<typename T >
const T & operator() (const agxData::SharedAttributeT< T > *attribute) const
 
template<typename T >
agxData::VectorAttributeT< T >::Type & operator() (const agxData::VectorAttributeT< T > *attribute)
 Vector attribute.
 
template<typename T >
const agxData::VectorAttributeT< T >::Type & operator() (const agxData::VectorAttributeT< T > *attribute) const
 
template<typename T >
ArrayAttributeT< T >::Type & operator() (const ArrayAttributeT< T > *attribute)
 
template<typename T >
const ArrayAttributeT< T >::Type & operator() (const ArrayAttributeT< T > *attribute) const
 
template<typename T >
HashSetAttributeT< T >::Type & operator() (const HashSetAttributeT< T > *attribute)
 
template<typename T >
const HashSetAttributeT< T >::Type & operator() (const HashSetAttributeT< T > *attribute) const
 
template<typename T >
VectorAttributeT< T >::Type & operator() (const VectorAttributeT< T > *attribute)
 
template<typename T >
const VectorAttributeT< T >::Type & operator() (const VectorAttributeT< T > *attribute) const
 
bool operator< (const EntityPtr &rhs) const
 
EntityPtroperator= (const EntityPtr &other)=default
 
EntityPtroperator= (EntityPtr &&)=default
 
bool operator== (const EntityPtr &rhs) const
 
bool operator> (const EntityPtr &rhs) const
 
void print () const
 
void print (std::ostream &stream) const
 
void swapId (EntityPtr &other)
 Swap id with another instance.
 
void swapIndex (EntityPtr &other)
 Swap index with another instance.
 
void transfer (agxData::EntityStorage *target)
 Transfer instance to another storage.
 
void verifyIndex () const
 Check for broken ptr, by verifying that the id is active in the storage.
 

Additional Inherited Members

- Static Public Member Functions inherited from agxData::EntityPtr
static EntityPtr createWithIndex (EntityStorage *storage, agx::Index index)
 
static void TransformToAscii (void *targetBuffer, const void *sourceBuffer, size_t numElements)
 

Detailed Description

Pointer to a entity instance of type Referenced.

Definition at line 166 of file ReferencedEntity.h.

Member Typedef Documentation

◆ DataType

typedef ReferencedData agx::ReferencedPtr::DataType

Definition at line 170 of file ReferencedEntity.h.

◆ InstanceType

typedef ReferencedInstance agx::ReferencedPtr::InstanceType

Definition at line 171 of file ReferencedEntity.h.

◆ ModelType

Constructor & Destructor Documentation

◆ ReferencedPtr() [1/4]

AGXCORE_EXPORT agx::ReferencedPtr::ReferencedPtr ( )

◆ ReferencedPtr() [2/4]

AGXCORE_EXPORT agx::ReferencedPtr::ReferencedPtr ( agxData::EntityStorage storage,
agx::Index  id 
)

◆ ReferencedPtr() [3/4]

AGXCORE_EXPORT agx::ReferencedPtr::ReferencedPtr ( const agxData::EntityPtr ptr)

◆ ReferencedPtr() [4/4]

AGXCORE_EXPORT agx::ReferencedPtr::ReferencedPtr ( const agxData::EntityInstance instance)

Member Function Documentation

◆ getData() [1/2]

ReferencedData * agx::ReferencedPtr::getData ( )

◆ getData() [2/2]

const ReferencedData * agx::ReferencedPtr::getData ( ) const

◆ instance() [1/2]

AGXCORE_EXPORT ReferencedInstance agx::ReferencedPtr::instance ( )

◆ instance() [2/2]

AGXCORE_EXPORT const ReferencedInstance agx::ReferencedPtr::instance ( ) const

◆ observerMutex() [1/2]

AGXCORE_EXPORT agx::SpinMutex & agx::ReferencedPtr::observerMutex ( )
Returns
reference to the observerMutex attribute

◆ observerMutex() [2/2]

AGXCORE_EXPORT agx::SpinMutex const & agx::ReferencedPtr::observerMutex ( ) const
Returns
const reference to the observerMutex attribute

◆ observers() [1/2]

AGXCORE_EXPORT agx::Vector< agxData::EntityPtr * > & agx::ReferencedPtr::observers ( )
Returns
reference to the observers attribute

◆ observers() [2/2]

AGXCORE_EXPORT agx::Vector< agxData::EntityPtr * > const & agx::ReferencedPtr::observers ( ) const
Returns
const reference to the observers attribute

◆ operator->() [1/2]

AGXCORE_EXPORT ReferencedSemantics * agx::ReferencedPtr::operator-> ( )

◆ operator->() [2/2]

AGXCORE_EXPORT const ReferencedSemantics * agx::ReferencedPtr::operator-> ( ) const

◆ operator=() [1/2]

AGXCORE_EXPORT ReferencedPtr & agx::ReferencedPtr::operator= ( const agxData::EntityInstance instance)

◆ operator=() [2/2]

AGXCORE_EXPORT ReferencedPtr & agx::ReferencedPtr::operator= ( const agxData::EntityPtr ptr)

◆ referenceCount() [1/2]

AGXCORE_EXPORT agx::UInt32 & agx::ReferencedPtr::referenceCount ( )
Returns
reference to the referenceCount attribute

◆ referenceCount() [2/2]

AGXCORE_EXPORT agx::UInt32 const & agx::ReferencedPtr::referenceCount ( ) const
Returns
const reference to the referenceCount attribute

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