Main Page Class List Class Members

# Nv::Blast::TkJointImpl Class Reference

`#include <NvBlastTkJointImpl.h>`

Inheritance diagram for Nv::Blast::TkJointImpl:

List of all members.

## 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

## Detailed Description

Implementation of TkJoint.

## Constructor & Destructor Documentation

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.

## Member Function Documentation

virtual const TkJointData Nv::Blast::TkJointImpl::getData | ( |  | ) | const`[override, virtual]`

Retrieve data in this joint.

Returns:
  a TkJointData containing this joint's data.

Implements Nv::Blast::TkJoint.

NV_INLINE const TkJointData & Nv::Blast::TkJointImpl::getDataInternal | ( |  | ) | const

Internal method to access a const reference to the joint data.

Returns:
  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.

Returns:
  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.

Parameters:

  `[in]` | actor0 | The new TkActor to replace the first attached actor.
  `[in]` | actor1 | The new TkActor to replace the second attached actor.
  `[in]` | alternateQueue | If not NULL, this queue will be used to hold events generated by this function.

## Friends And Related Function Documentation

friend class TkActorImpl`[friend]`

friend class TkFamilyImpl`[friend]`

friend class TkFrameworkImpl`[friend]`

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

- sdk/toolkit/source/NvBlastTkJointImpl.h