33#ifndef DART_DYNAMICS_DETAIL_INVERSEKINEMATICSPTR_HPP_
34#define DART_DYNAMICS_DETAIL_INVERSEKINEMATICSPTR_HPP_
48template <
class IkType,
class JacobianNodePtrT>
52 template <
class,
class>
73 template <
class OtherIkT,
class OtherJacNodePtrT>
81 operator std::shared_ptr<element_type>()
const
87 template <
class OtherIkT>
94 template <
class OtherIkT,
class OtherJacNodePtrT>
103 template <
class SharedPtrT>
118 operator bool()
const
120 return (
nullptr !=
mIK);
155 void set(
const std::shared_ptr<IkType>& sptr)
173 template <
class OtherIkT,
class OtherJacNodeT>
181 template <
class OtherIkT,
class OtherJacNodeT>
185 return !(*
this == _rhs);
189 template <
class OtherIkT,
class OtherJacNodeT>
197 template <
class OtherIkT,
class OtherJacNodeT>
205 template <
class OtherIkT,
class OtherJacNodeT>
209 return (*
this < _rhs) || (*
this == _rhs);
213 template <
class OtherIkT,
class OtherJacNodeT>
217 return (*
this > _rhs) || (*
this == _rhs);
224 std::shared_ptr<element_type>
mIK;
231template <
class IkType,
class BodyNodeT>
235 return nullptr == _ik.
get();
239template <
class IkType,
class BodyNodeT>
243 return nullptr == _ik.
get();
247template <
class IkType,
class BodyNodeT>
251 return nullptr != _ik.
get();
255template <
class IkType,
class BodyNodeT>
259 return nullptr != _ik.
get();
267template <
class InverseKinematicsT,
class JacobianNodePtrT>
271 template <
class,
class>
280 template <
class PtrType>
287 template <
class PtrType>
301 if (
nullptr == jacNode)
309 template <
class OtherIkT,
class OtherJacNodePtrT>
324 template <
class OtherIkT,
class OtherJacNodeT>
TemplateInverseKinematicsPtr is a templated class that enables users to create a reference-counting I...
Definition InverseKinematicsPtr.hpp:50
TemplateInverseKinematicsPtr()=default
Default constructor.
bool operator<(const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &_rhs) const
Less than.
Definition InverseKinematicsPtr.hpp:190
bool operator>(const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &_rhs) const
Greater than.
Definition InverseKinematicsPtr.hpp:198
bool operator>=(const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &_rhs) const
Greater than or equal to.
Definition InverseKinematicsPtr.hpp:214
TemplateInverseKinematicsPtr(const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodePtrT > &_ptr)
Constructor that takes in a strong InverseKinematicsPtr.
Definition InverseKinematicsPtr.hpp:74
TemplateInverseKinematicsPtr & operator=(std::nullptr_t)
Assignment operator for nullptr.
Definition InverseKinematicsPtr.hpp:111
bool operator!=(const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &_rhs) const
Inequality.
Definition InverseKinematicsPtr.hpp:182
element_type & operator*() const
Dereferencing operator.
Definition InverseKinematicsPtr.hpp:124
JacobianNodePtrT mJacNodePtr
Pointer to the Node associated with the IK module.
Definition InverseKinematicsPtr.hpp:227
element_type * get() const
Get the raw pointer.
Definition InverseKinematicsPtr.hpp:136
TemplateInverseKinematicsPtr(const std::shared_ptr< OtherIkT > &sptr)
Constructor that takes in a shared_ptr.
Definition InverseKinematicsPtr.hpp:88
TemplateInverseKinematicsPtr(const std::shared_ptr< element_type > &sptr)
Constructor that accepts a shared_ptr.
Definition InverseKinematicsPtr.hpp:58
bool operator<=(const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &_rhs) const
Less than or equal to.
Definition InverseKinematicsPtr.hpp:206
IkType element_type
Definition InverseKinematicsPtr.hpp:55
TemplateInverseKinematicsPtr & operator=(const SharedPtrT &_ptr)
Assignment operator for shared_ptr.
Definition InverseKinematicsPtr.hpp:104
std::shared_ptr< element_type > mIK
Pointer to the IK module.
Definition InverseKinematicsPtr.hpp:224
bool operator==(const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &_rhs) const
Equality.
Definition InverseKinematicsPtr.hpp:174
void set(const std::shared_ptr< IkType > &sptr)
Set the InverseKinematics module for this InverseKinematicsPtr from a shared_ptr.
Definition InverseKinematicsPtr.hpp:155
element_type * operator->() const
Dereferencing operation.
Definition InverseKinematicsPtr.hpp:130
std::shared_ptr< element_type > get_shared() const
Get the shared_ptr held by this InverseKinematicsPtr.
Definition InverseKinematicsPtr.hpp:145
TemplateInverseKinematicsPtr(std::nullptr_t)
Constructor that accepts a nullptr.
Definition InverseKinematicsPtr.hpp:64
TemplateInverseKinematicsPtr & operator=(const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodePtrT > &_ptr)
Assignment operator.
Definition InverseKinematicsPtr.hpp:95
TemplateWeakInverseKinematicsPtr is a templated class that enables users to create a non-reference-ho...
Definition InverseKinematicsPtr.hpp:269
void set(const TemplateWeakInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &_ptr)
Set using a weak pointer.
Definition InverseKinematicsPtr.hpp:325
TemplateWeakInverseKinematicsPtr & operator=(const PtrType &_ptr)
Assignment operator for various templated pointer types.
Definition InverseKinematicsPtr.hpp:288
void set(const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodePtrT > &_ptr)
Set using a strong pointer.
Definition InverseKinematicsPtr.hpp:310
TemplateWeakInverseKinematicsPtr()=default
Default constructor.
JacobianNodePtrT mWeakJacNode
Weak pointer to the JacobianNode.
Definition InverseKinematicsPtr.hpp:337
std::weak_ptr< InverseKinematicsT > mWeakIK
Weak pointer to the IK module.
Definition InverseKinematicsPtr.hpp:334
TemplateInverseKinematicsPtr< InverseKinematicsT, JacobianNodePtrT > lock() const
Locks the InverseKinematics module to ensure that the referenced module is currently still available.
Definition InverseKinematicsPtr.hpp:297
TemplateWeakInverseKinematicsPtr(const PtrType &_ptr)
Constructor for various pointer types.
Definition InverseKinematicsPtr.hpp:281
InverseKinematicsT element_type
Definition InverseKinematicsPtr.hpp:274
bool operator==(const TemplateInverseKinematicsPtr< IkType, BodyNodeT > &_ik, std::nullptr_t)
Definition InverseKinematicsPtr.hpp:232
bool operator!=(const TemplateInverseKinematicsPtr< IkType, BodyNodeT > &_ik, std::nullptr_t)
Definition InverseKinematicsPtr.hpp:248
Definition BulletCollisionDetector.cpp:60