33#ifndef DART_DYNAMICS_DETAIL_NODEPTR_HPP_
34#define DART_DYNAMICS_DETAIL_NODEPTR_HPP_
48template <
class NodeT,
class BodyNodeT>
52 template <
class,
class>
68 template <
class OtherNodeT,
class OtherBodyNodeT>
82 template <
class OtherNodeT,
class OtherBodyNodeT>
91 operator NodeT*()
const
148template <
class NodeT,
class BodyNodeT>
152 template <
class,
class>
166 template <
class OtherNodeT,
class OtherBodyNodeT>
174 template <
class OtherNodeT,
class OtherBodyNodeT>
189 template <
class OtherNodeT,
class OtherBodyNodeT>
198 template <
class OtherNodeT,
class OtherBodyNodeT>
212 if (
nullptr == bodyNode)
216 if (
nullptr == destructor)
239 template <
class OtherNodeT,
class OtherBodyNodeT>
TemplateBodyNodePtr is a templated class that enables users to create a reference-counting BodyNodePt...
Definition BodyNodePtr.hpp:110
TemplateNodePtr is a templated class that enables users to create a strong reference-counting NodePtr...
Definition NodePtr.hpp:50
NodeT * get() const
Get the raw Node pointer.
Definition NodePtr.hpp:109
TemplateNodePtr & operator=(NodeT *_ptr)
Assignment operator.
Definition NodePtr.hpp:75
NodeT & operator*() const
Dereferencing operator.
Definition NodePtr.hpp:97
TemplateBodyNodePtr< BodyNodeT > mBodyNodePtr
Hold onto a BodyNodePtr to the Node's associated BodyNode to make sure that the BodyNode stays alive.
Definition NodePtr.hpp:140
TemplateNodePtr & operator=(const TemplateNodePtr< OtherNodeT, OtherBodyNodeT > &_ptr)
Assignment operator for NodePtrs.
Definition NodePtr.hpp:83
TemplateNodePtr(const TemplateNodePtr< OtherNodeT, OtherBodyNodeT > &_ptr)
Constructor that takes in a strong NodePtr.
Definition NodePtr.hpp:69
TemplateNodePtr()
Default constructor.
Definition NodePtr.hpp:58
NodeT element_type
Definition NodePtr.hpp:55
std::shared_ptr< NodeDestructor > mDestructor
Hold onto a shared_ptr to the Node's Destructor to make sure the Node stays alive.
Definition NodePtr.hpp:136
TemplateNodePtr(NodeT *_ptr)
Typical constructor.
Definition NodePtr.hpp:62
NodeT * operator->() const
Dereferencing operation.
Definition NodePtr.hpp:103
NodeT * mNode
Node that this NodePtr refers to.
Definition NodePtr.hpp:132
void set(NodeT *_ptr)
Set the Node for this NodePtr.
Definition NodePtr.hpp:115
TemplateWeakBodyNodePtr is a templated class that enables users to create a non-reference-holding Wea...
Definition BodyNodePtr.hpp:222
TemplateWeakNodePtr is a templated class that enables users to create a weak non-reference-holding We...
Definition NodePtr.hpp:150
NodeT * mNode
Node that this pointer references.
Definition NodePtr.hpp:249
TemplateWeakNodePtr & operator=(NodeT *_ptr)
Assignment operator for raw Node pointers.
Definition NodePtr.hpp:182
std::weak_ptr< NodeDestructor > mWeakDestructor
Destructor for the Node.
Definition NodePtr.hpp:252
TemplateWeakNodePtr & operator=(const TemplateWeakNodePtr< OtherNodeT, OtherBodyNodeT > &_weakPtr)
Assignment operator for WeakNodePtrs.
Definition NodePtr.hpp:190
TemplateNodePtr< NodeT, BodyNodeT > lock() const
Locks the Node reference to ensure that the referenced Node is currently still available.
Definition NodePtr.hpp:209
TemplateWeakNodePtr()
Default constructor.
Definition NodePtr.hpp:156
TemplateWeakNodePtr(NodeT *_ptr)
Typical constructor.
Definition NodePtr.hpp:160
TemplateWeakNodePtr(const TemplateNodePtr< OtherNodeT, OtherBodyNodeT > &_strongPtr)
Constructor that takes in a strong NodePtr.
Definition NodePtr.hpp:175
TemplateWeakNodePtr & operator=(const TemplateNodePtr< OtherNodeT, OtherBodyNodeT > &_strongPtr)
Assignment operator for strong NodePtrs.
Definition NodePtr.hpp:199
void set(const TemplateWeakNodePtr< OtherNodeT, OtherBodyNodeT > &_weakPtr)
Set the Node for this WeakNodePtr based on another WeakNodePtr.
Definition NodePtr.hpp:240
void set(NodeT *_ptr)
Set the Node for this WeakNodePtr.
Definition NodePtr.hpp:223
TemplateWeakBodyNodePtr< BodyNodeT > mWeakBodyNodePtr
Pointer to the BodyNode that the Node is attached to.
Definition NodePtr.hpp:255
TemplateWeakNodePtr(const TemplateWeakNodePtr< OtherNodeT, OtherBodyNodeT > &_weakPtr)
Constructor that takes in a WeakNodePtr.
Definition NodePtr.hpp:167
Definition BulletCollisionDetector.cpp:60