AGX Dynamics 2.37.3.4
|
Base implementation of a component (e.g., specific functionality) in linked structures. More...
#include <LinkedStructureComponent.h>
Public Member Functions | |
AGXSTREAM_DECLARE_SERIALIZABLE_BASE (agxSDK::LinkedStructureComponent) | |
agxSDK::LinkedStructure * | getLinkedStructure () const |
const agx::Name & | getName () const |
agxSDK::Simulation * | getSimulation () const |
void | setName (const agx::Name &name) |
Assign new name to this component. | |
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. | |
Public Member Functions inherited from agxStream::Serializable | |
virtual | ~Serializable () |
Destructor for normal C++ use but hidden from SWIG bindings. | |
virtual const char * | getClassName () const |
bool | getEnableSerialization () const |
bool | getEnableUuidGeneration () |
agx::UInt32 | getIndex () const |
This index is given at creation of this object. | |
virtual StorageAgent * | getStorageAgent () const =0 |
agx::Uuid | getUuid () const |
bool | isFinished () const |
void | setEnableSerialization (bool flag) |
Set to false to disable serialization of this object. | |
void | setFinished () |
Tells this class that it is restored correctly and should not be deleted during destruction of an Archive. | |
void | setUuid (const agx::Uuid &uuid) |
Explicitly set a Uuid on a serializable object. | |
Static Public Member Functions | |
static agxStream::Serializable * | create (agxStream::InputArchive &) |
Static Public Member Functions inherited from agx::Referenced | |
template<typename T > | |
static bool | ValidateCast (const Referenced *object) |
Static Public Member Functions inherited from agxStream::Serializable | |
static void | setEnableUuidGeneration (bool flag) |
Specify if there should be UUID:s generated for each new Serializable object. By default it is enabled. | |
Protected Member Functions | |
LinkedStructureComponent (const agx::Name &name="") | |
Default, protected constructor. | |
virtual | ~LinkedStructureComponent () |
Reference counted object - protected destructor. | |
virtual void | onAddNotification (agxSDK::LinkedStructure *linkedStructure) |
Called when this component is added to a linked structure. | |
virtual void | onAddNotification (agxSDK::Simulation *simulation) |
Called when addNotification is executed when this linked structure is added to the simulation. | |
virtual void | onLastStep () |
Called on simulation last step event - after user lastStep. | |
virtual void | onPostStep () |
Called on simulation post step event - after user postStep. | |
virtual void | onPreCollideStep () |
Called on simulation pre-collide step event - after user preCollide. | |
virtual void | onPreStep () |
Called on simulation pre step event - after user preStep. | |
virtual void | onRemoveNotification (agxSDK::LinkedStructure *linkedStructure) |
Called when this component is removed from a linked structure. | |
virtual void | onRemoveNotification (agxSDK::Simulation *simulation) |
Called when removeNotification is executed when this linked structure is removed from the simulation. | |
Protected Member Functions inherited from agx::Referenced | |
virtual | ~Referenced () |
Destructor. | |
void | allocateObserverVector () const |
void | deleteUsingDeleteHandler () const |
Protected Member Functions inherited from agxStream::Serializable | |
Serializable () | |
Default constructor. | |
Serializable (const Serializable &other) | |
Copy constructor. | |
void | generateUuid () |
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. | |
Protected Attributes inherited from agx::Referenced | |
Mutex | m_mutex |
ObserverContainer | m_observers |
AtomicValue | m_refCount |
Base implementation of a component (e.g., specific functionality) in linked structures.
Implementations will receive certain callbacks from the parent LinkedStructure object and simulation events, such as preCollide, pre, post and last step events.
Definition at line 36 of file LinkedStructureComponent.h.
|
protected |
Default, protected constructor.
This object completely rely on a implementation so no point in just creating and adding an empty component to a linked structure.
|
protectedvirtual |
Reference counted object - protected destructor.
agxSDK::LinkedStructureComponent::AGXSTREAM_DECLARE_SERIALIZABLE_BASE | ( | agxSDK::LinkedStructureComponent | ) |
|
inlinestatic |
Definition at line 63 of file LinkedStructureComponent.h.
agxSDK::LinkedStructure * agxSDK::LinkedStructureComponent::getLinkedStructure | ( | ) | const |
const agx::Name & agxSDK::LinkedStructureComponent::getName | ( | ) | const |
agxSDK::Simulation * agxSDK::LinkedStructureComponent::getSimulation | ( | ) | const |
|
protectedvirtual |
Called when this component is added to a linked structure.
Reimplemented in agxCable::CableDamage.
|
protectedvirtual |
Called when addNotification is executed when this linked structure is added to the simulation.
Reimplemented in agxCable::CableDamage.
|
protectedvirtual |
Called on simulation last step event - after user lastStep.
|
protectedvirtual |
Called on simulation post step event - after user postStep.
Reimplemented in agxCable::CableDamage.
|
protectedvirtual |
Called on simulation pre-collide step event - after user preCollide.
|
protectedvirtual |
Called on simulation pre step event - after user preStep.
Reimplemented in agxCable::CableDamage.
|
protectedvirtual |
Called when this component is removed from a linked structure.
|
protectedvirtual |
Called when removeNotification is executed when this linked structure is removed from the simulation.
void agxSDK::LinkedStructureComponent::setName | ( | const agx::Name & | name | ) |
Assign new name to this component.
The name can be used to find this component from the linked structure this component is part of.
name | - new name of this component |