#include <BodyNodePtr.hpp>
◆ SkeletonRefCountingBase()
dart::dynamics::SkeletonRefCountingBase::SkeletonRefCountingBase |
( |
| ) |
|
|
protected |
◆ decrementReferenceCount()
void dart::dynamics::SkeletonRefCountingBase::decrementReferenceCount |
( |
| ) |
const |
|
private |
Atomically decrement the reference count for this BodyNode.
This should only be called by the BodyNodePtr class
◆ getSkeleton() [1/2]
SkeletonPtr dart::dynamics::SkeletonRefCountingBase::getSkeleton |
( |
| ) |
|
◆ getSkeleton() [2/2]
◆ incrementReferenceCount()
void dart::dynamics::SkeletonRefCountingBase::incrementReferenceCount |
( |
| ) |
const |
|
private |
Atomically increment the reference count for this BodyNode.
This should only be called by the BodyNodePtr class
◆ TemplateBodyNodePtr
◆ TemplateWeakBodyNodePtr
◆ mLockedSkeleton
Shared reference to a weak_ptr of this BodyNode's Skeleton, along with a mutex to ensure thread safety.
This is used by WeakBodyNodePtrs to know when this BodyNode has expired.
◆ mReferenceCount
std::atomic<int> dart::dynamics::SkeletonRefCountingBase::mReferenceCount |
|
mutableprotected |
Reference count for the number of BodyNodePtrs that are referring to this BodyNode.
◆ mReferenceSkeleton
std::shared_ptr<Skeleton> dart::dynamics::SkeletonRefCountingBase::mReferenceSkeleton |
|
mutableprotected |
If mReferenceCount is zero, then mReferenceSkeleton will hold a nullptr.
If mReferenceCount is greater than zero, then mReferenceSkeleton will hold a shared_ptr to the Skeleton that this BodyNode belongs to. This is to keep this BodyNode alive, so long as a BodyNodePtr that references it exists.
◆ mSkeleton
std::weak_ptr<Skeleton> dart::dynamics::SkeletonRefCountingBase::mSkeleton |
|
protected |