33 #ifndef DART_DYNAMICS_DETAIL_NODEPTR_HPP_
34 #define DART_DYNAMICS_DETAIL_NODEPTR_HPP_
48 template <
class NodeT,
class BodyNodeT>
65 template <
class OtherNodeT,
class OtherBodyNodeT>
80 template <
class OtherNodeT,
class OtherBodyNodeT>
89 operator NodeT*()
const {
return get(); }
138 template <
class NodeT,
class BodyNodeT>
153 template <
class OtherNodeT,
class OtherBodyNodeT>
161 template <
class OtherNodeT,
class OtherBodyNodeT>
176 template <
class OtherNodeT,
class OtherBodyNodeT>
185 template <
class OtherNodeT,
class OtherBodyNodeT>
199 if(
nullptr == bodyNode)
203 if(
nullptr == destructor)
226 template <
class OtherNodeT,
class OtherBodyNodeT>
TemplateBodyNodePtr is a templated class that enables users to create a reference-counting BodyNodePt...
Definition: BodyNodePtr.hpp:111
TemplateNodePtr is a templated class that enables users to create a strong reference-counting NodePtr...
Definition: NodePtr.hpp:50
TemplateBodyNodePtr< BodyNodeT > mBodyNodePtr
Hold onto a BodyNodePtr to the Node's associated BodyNode to make sure that the BodyNode stays alive.
Definition: NodePtr.hpp:130
TemplateNodePtr(const TemplateNodePtr< OtherNodeT, OtherBodyNodeT > &_ptr)
Constructor that takes in a strong NodePtr.
Definition: NodePtr.hpp:66
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:126
TemplateNodePtr(NodeT *_ptr)
Typical constructor.
Definition: NodePtr.hpp:62
NodeT * operator->() const
Dereferencing operation.
Definition: NodePtr.hpp:95
NodeT * get() const
Get the raw Node pointer.
Definition: NodePtr.hpp:98
NodeT & operator*() const
Dereferencing operator.
Definition: NodePtr.hpp:92
NodeT * mNode
Node that this NodePtr refers to.
Definition: NodePtr.hpp:122
void set(NodeT *_ptr)
Set the Node for this NodePtr.
Definition: NodePtr.hpp:104
TemplateNodePtr & operator=(NodeT *_ptr)
Assignment operator.
Definition: NodePtr.hpp:73
TemplateWeakBodyNodePtr is a templated class that enables users to create a non-reference-holding Wea...
Definition: BodyNodePtr.hpp:199
TemplateWeakNodePtr is a templated class that enables users to create a weak non-reference-holding We...
Definition: NodePtr.hpp:140
NodeT * mNode
Node that this pointer references.
Definition: NodePtr.hpp:237
std::weak_ptr< NodeDestructor > mWeakDestructor
Destructor for the Node.
Definition: NodePtr.hpp:240
TemplateWeakNodePtr()
Default constructor.
Definition: NodePtr.hpp:146
TemplateWeakNodePtr(NodeT *_ptr)
Typical constructor.
Definition: NodePtr.hpp:150
TemplateWeakNodePtr(const TemplateNodePtr< OtherNodeT, OtherBodyNodeT > &_strongPtr)
Constructor that takes in a strong NodePtr.
Definition: NodePtr.hpp:162
void set(const TemplateWeakNodePtr< OtherNodeT, OtherBodyNodeT > &_weakPtr)
Set the Node for this WeakNodePtr based on another WeakNodePtr.
Definition: NodePtr.hpp:227
TemplateNodePtr< NodeT, BodyNodeT > lock() const
Locks the Node reference to ensure that the referenced Node is currently still available.
Definition: NodePtr.hpp:196
void set(NodeT *_ptr)
Set the Node for this WeakNodePtr.
Definition: NodePtr.hpp:210
TemplateWeakNodePtr & operator=(NodeT *_ptr)
Assignment operator for raw Node pointers.
Definition: NodePtr.hpp:169
TemplateWeakBodyNodePtr< BodyNodeT > mWeakBodyNodePtr
Pointer to the BodyNode that the Node is attached to.
Definition: NodePtr.hpp:243
TemplateWeakNodePtr(const TemplateWeakNodePtr< OtherNodeT, OtherBodyNodeT > &_weakPtr)
Constructor that takes in a WeakNodePtr.
Definition: NodePtr.hpp:154
Definition: BulletCollisionDetector.cpp:63