33 #ifndef DART_DYNAMICS_DETAIL_JOINTPTR_HPP_
34 #define DART_DYNAMICS_DETAIL_JOINTPTR_HPP_
47 template <
class Jo
intT,
class BodyNodeT>
51 template <
class,
class>
67 template <
class OtherJo
intT,
class OtherBodyNodeT>
81 template <
class OtherJo
intT,
class OtherBodyNodeT>
90 operator JointT*()
const
139 template <
class OtherJo
intT,
class OtherBodyNodeT>
147 template <
class OtherJo
intT,
class OtherBodyNodeT>
151 return !(*
this == _rhs);
155 template <
class OtherJo
intT,
class OtherBodyNodeT>
163 template <
class OtherJo
intT,
class OtherBodyNodeT>
171 template <
class OtherJo
intT,
class OtherBodyNodeT>
175 return (*
this < _rhs) || (*
this == _rhs);
179 template <
class OtherJo
intT,
class OtherBodyNodeT>
183 return (*
this > _rhs) || (*
this == _rhs);
198 template <
class Jo
intT,
class BodyNodeT>
202 template <
class,
class>
216 template <
class OtherJo
intT,
class OtherBodyNodeT>
224 template <
class OtherJo
intT,
class OtherBodyNodeT>
239 template <
class OtherJo
intT,
class OtherBodyNodeT>
248 template <
class OtherJo
intT,
class OtherBodyNodeT>
262 if (
nullptr == bodyNode)
281 template <
class OtherJo
intT,
class OtherBodyNodeT>
TemplateBodyNodePtr is a templated class that enables users to create a reference-counting BodyNodePt...
Definition: BodyNodePtr.hpp:110
TemplateJointPtr is a templated class that enables users to create a strong reference-counting JointP...
Definition: JointPtr.hpp:49
TemplateJointPtr & operator=(JointT *_ptr)
Assignment operator.
Definition: JointPtr.hpp:74
bool operator>=(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_rhs) const
Greater than or equal to.
Definition: JointPtr.hpp:180
TemplateJointPtr(JointT *_ptr)
Typical constructor.
Definition: JointPtr.hpp:61
bool operator==(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_rhs) const
Equality.
Definition: JointPtr.hpp:140
TemplateJointPtr()=default
Default constructor.
bool operator<(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_rhs) const
Less than.
Definition: JointPtr.hpp:156
JointT * get() const
Get the raw Joint pointer.
Definition: JointPtr.hpp:108
void set(JointT *_ptr)
Set the Joint for this JointPtr.
Definition: JointPtr.hpp:123
bool operator<=(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_rhs) const
Less than or equal to.
Definition: JointPtr.hpp:172
JointT * operator->() const
Dereferencing operation.
Definition: JointPtr.hpp:102
TemplateJointPtr(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_jptr)
Constructor that takes in a strong JointPtr.
Definition: JointPtr.hpp:68
bool operator>(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_rhs) const
Greater than.
Definition: JointPtr.hpp:164
JointT & operator*() const
Dereferencing operator.
Definition: JointPtr.hpp:96
JointT element_type
Definition: JointPtr.hpp:54
TemplateBodyNodePtr< BodyNodeT > getBodyNodePtr() const
Get the BodyNode that this JointPtr is tied to.
Definition: JointPtr.hpp:117
TemplateBodyNodePtr< BodyNodeT > mBodyNodePtr
Reference-holding pointer to the child BodyNode of this Joint.
Definition: JointPtr.hpp:190
TemplateJointPtr & operator=(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_jptr)
Assignment operator for JointPtrs.
Definition: JointPtr.hpp:82
bool operator!=(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_rhs) const
Inequality.
Definition: JointPtr.hpp:148
TemplateWeakBodyNodePtr is a templated class that enables users to create a non-reference-holding Wea...
Definition: BodyNodePtr.hpp:224
TemplateWeakJointPtr is a templated class that enables users to create a non-reference-holding WeakJo...
Definition: JointPtr.hpp:200
TemplateWeakJointPtr & operator=(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_strongPtr)
Assignment operator for strong JointPtrs.
Definition: JointPtr.hpp:249
TemplateWeakJointPtr(const TemplateWeakJointPtr< OtherJointT, OtherBodyNodeT > &_weakPtr)
Constructor that takes in a WeakJointPtr.
Definition: JointPtr.hpp:217
TemplateWeakJointPtr(JointT *_ptr)
Typical constructor.
Definition: JointPtr.hpp:210
void set(JointT *_ptr)
Set the Joint for this WeakJointPtr.
Definition: JointPtr.hpp:269
TemplateWeakJointPtr & operator=(JointT *_ptr)
Assignment operator for raw Joint pointers.
Definition: JointPtr.hpp:232
TemplateJointPtr< JointT, BodyNodeT > lock() const
Locks the Joint reference to ensure that the referenced Joint is currently still available.
Definition: JointPtr.hpp:259
TemplateWeakJointPtr()=default
Default constructor.
TemplateWeakJointPtr & operator=(const TemplateWeakJointPtr< OtherJointT, OtherBodyNodeT > &_weakPtr)
Assignment operator for WeakJointPtrs.
Definition: JointPtr.hpp:240
void set(const TemplateWeakJointPtr< OtherJointT, OtherBodyNodeT > &_weakPtr)
Set the Joint for this WeakJointPtr based on another WeakJointPtr.
Definition: JointPtr.hpp:282
TemplateWeakJointPtr(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_strongPtr)
Constructor that takes in a strong JointPtr.
Definition: JointPtr.hpp:225
TemplateWeakBodyNodePtr< BodyNodeT > mWeakBodyNode
Weak poiner to the child BodyNode of this Joint.
Definition: JointPtr.hpp:289
Definition: BulletCollisionDetector.cpp:65