#include <NvBlastTkJointImpl.h>

Public Member Functions | |
| virtual const TkJointData | getData () const override |
| const TkJointData & | getDataInternal () const |
| TkJointData & | getDataWritable () |
| virtual void | release () override |
| void | removeReferencesInActors () |
| void | removeReferencesInFamilies () |
| void | setActors (TkActorImpl *actor0, TkActorImpl *actor1, TkEventQueue *alternateQueue=nullptr) |
| TkJointImpl (const TkJointDesc &desc, TkFamilyImpl *owner) | |
| TkJointImpl () | |
Friends | |
| class | TkActorImpl |
| class | TkFamilyImpl |
| class | TkFrameworkImpl |
| NV_INLINE Nv::Blast::TkJointImpl::TkJointImpl | ( | ) |
Blank constructor only creates valid TkJointLinks (point back to this object)
| Nv::Blast::TkJointImpl::TkJointImpl | ( | const TkJointDesc & | desc, | |
| TkFamilyImpl * | owner | |||
| ) |
This constructor sets all internal data. If the joint is defined in an asset, the family instanced from that asset will own this joint, and the 'owner' parameter is that family. Otherwise, in the case where a joint is created from TkFramwork::createJoint, the joint is not owned by a family and 'owner' will be NULL.
| virtual const TkJointData Nv::Blast::TkJointImpl::getData | ( | ) | const [override, virtual] |
Retrieve data in this joint.
Implements Nv::Blast::TkJoint.
| NV_INLINE const TkJointData & Nv::Blast::TkJointImpl::getDataInternal | ( | ) | const |
Internal method to access a const reference to the joint data.
| NV_INLINE TkJointData & Nv::Blast::TkJointImpl::getDataWritable | ( | ) |
Internal method to access a non-const reference to the joint data.
| virtual void Nv::Blast::TkJointImpl::release | ( | ) | [override, virtual] |
Release this object and free associated memory.
Implements Nv::Blast::TkObject.
| void Nv::Blast::TkJointImpl::removeReferencesInActors | ( | ) |
Ensures that any attached actors no longer refer to this joint.
| void Nv::Blast::TkJointImpl::removeReferencesInFamilies | ( | ) |
Ensures that any attached actors' families no longer refer to this joint. External joints (created using TkFramework::createJoint) are referenced by the attached actors' families.
| void Nv::Blast::TkJointImpl::setActors | ( | TkActorImpl * | actor0, | |
| TkActorImpl * | actor1, | |||
| TkEventQueue * | alternateQueue = nullptr | |||
| ) |
Set the actors that this joint attaches to. When the actors are different from the joint's current actors, an event will be generated on one of the actors' families event queues to signal the change. Alternatively, if alternateQueue is not NULL then it will be used to hold the event.
If a non-NULL attached actor becomes NULL, then this joint will detach its references to both actors (if they exist) and send an event of subtype Unreferenced. This signals the user that the joint may be deleted.
friend class TkActorImpl [friend] |
friend class TkFamilyImpl [friend] |
friend class TkFrameworkImpl [friend] |