33 #ifndef DART_DYNAMICS_DETAIL_JOINTPTR_HPP_
34 #define DART_DYNAMICS_DETAIL_JOINTPTR_HPP_
47 template <
class Jo
intT,
class BodyNodeT>
64 template <
class OtherJo
intT,
class OtherBodyNodeT>
79 template <
class OtherJo
intT,
class OtherBodyNodeT>
88 operator JointT*()
const {
return get(); }
128 template <
class OtherJo
intT,
class OtherBodyNodeT>
130 OtherBodyNodeT>& _rhs)
const
136 template <
class OtherJo
intT,
class OtherBodyNodeT>
138 OtherBodyNodeT>& _rhs)
const
140 return !( *
this == _rhs );
144 template <
class OtherJo
intT,
class OtherBodyNodeT>
146 OtherBodyNodeT>& _rhs)
const
152 template <
class OtherJo
intT,
class OtherBodyNodeT>
154 OtherBodyNodeT>& _rhs)
const
160 template <
class OtherJo
intT,
class OtherBodyNodeT>
162 OtherBodyNodeT>& _rhs)
const
164 return (*
this < _rhs) || (*
this == _rhs);
168 template <
class OtherJo
intT,
class OtherBodyNodeT>
170 OtherBodyNodeT>& _rhs)
const
172 return (*
this > _rhs) || (*
this == _rhs);
187 template <
class Jo
intT,
class BodyNodeT>
202 template <
class OtherJo
intT,
class OtherBodyNodeT>
210 template <
class OtherJo
intT,
class OtherBodyNodeT>
225 template <
class OtherJo
intT,
class OtherBodyNodeT>
234 template <
class OtherJo
intT,
class OtherBodyNodeT>
248 if(
nullptr == bodyNode)
267 template <
class OtherJo
intT,
class OtherBodyNodeT>
TemplateBodyNodePtr is a templated class that enables users to create a reference-counting BodyNodePt...
Definition: BodyNodePtr.hpp:111
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:72
bool operator>=(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_rhs) const
Greater than or equal to.
Definition: JointPtr.hpp:169
TemplateJointPtr(JointT *_ptr)
Typical constructor.
Definition: JointPtr.hpp:61
bool operator==(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_rhs) const
Equality.
Definition: JointPtr.hpp:129
TemplateJointPtr()=default
Default constructor.
bool operator<(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_rhs) const
Less than.
Definition: JointPtr.hpp:145
JointT * get() const
Get the raw Joint pointer.
Definition: JointPtr.hpp:97
void set(JointT *_ptr)
Set the Joint for this JointPtr.
Definition: JointPtr.hpp:112
bool operator<=(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_rhs) const
Less than or equal to.
Definition: JointPtr.hpp:161
JointT * operator->() const
Dereferencing operation.
Definition: JointPtr.hpp:94
TemplateJointPtr(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_jptr)
Constructor that takes in a strong JointPtr.
Definition: JointPtr.hpp:65
bool operator>(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_rhs) const
Greater than.
Definition: JointPtr.hpp:153
JointT & operator*() const
Dereferencing operator.
Definition: JointPtr.hpp:91
JointT element_type
Definition: JointPtr.hpp:54
TemplateBodyNodePtr< BodyNodeT > getBodyNodePtr() const
Get the BodyNode that this JointPtr is tied to.
Definition: JointPtr.hpp:106
TemplateBodyNodePtr< BodyNodeT > mBodyNodePtr
Reference-holding pointer to the child BodyNode of this Joint.
Definition: JointPtr.hpp:179
bool operator!=(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_rhs) const
Inequality.
Definition: JointPtr.hpp:137
TemplateWeakBodyNodePtr is a templated class that enables users to create a non-reference-holding Wea...
Definition: BodyNodePtr.hpp:199
TemplateWeakJointPtr is a templated class that enables users to create a non-reference-holding WeakJo...
Definition: JointPtr.hpp:189
TemplateWeakJointPtr(const TemplateWeakJointPtr< OtherJointT, OtherBodyNodeT > &_weakPtr)
Constructor that takes in a WeakJointPtr.
Definition: JointPtr.hpp:203
TemplateWeakJointPtr(JointT *_ptr)
Typical constructor.
Definition: JointPtr.hpp:199
void set(JointT *_ptr)
Set the Joint for this WeakJointPtr.
Definition: JointPtr.hpp:255
TemplateWeakJointPtr & operator=(JointT *_ptr)
Assignment operator for raw Joint pointers.
Definition: JointPtr.hpp:218
TemplateJointPtr< JointT, BodyNodeT > lock() const
Locks the Joint reference to ensure that the referenced Joint is currently still available.
Definition: JointPtr.hpp:245
TemplateWeakJointPtr()=default
Default constructor.
void set(const TemplateWeakJointPtr< OtherJointT, OtherBodyNodeT > &_weakPtr)
Set the Joint for this WeakJointPtr based on another WeakJointPtr.
Definition: JointPtr.hpp:268
TemplateWeakJointPtr(const TemplateJointPtr< OtherJointT, OtherBodyNodeT > &_strongPtr)
Constructor that takes in a strong JointPtr.
Definition: JointPtr.hpp:211
TemplateWeakBodyNodePtr< BodyNodeT > mWeakBodyNode
Weak poiner to the child BodyNode of this Joint.
Definition: JointPtr.hpp:275
Definition: BulletCollisionDetector.cpp:63