DART  6.10.1
dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT > Class Template Reference

TemplateInverseKinematicsPtr is a templated class that enables users to create a reference-counting InverseKinematicsPtr. More...

#include <InverseKinematicsPtr.hpp>

Public Types

typedef IkType element_type
 

Public Member Functions

 TemplateInverseKinematicsPtr (const std::shared_ptr< element_type > &sptr)
 Constructor that accepts a shared_ptr. More...
 
 TemplateInverseKinematicsPtr (std::nullptr_t)
 Constructor that accepts a nullptr. More...
 
 TemplateInverseKinematicsPtr ()=default
 Default constructor. More...
 
template<class OtherIkT , class OtherJacNodePtrT >
 TemplateInverseKinematicsPtr (const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodePtrT > &_ptr)
 Constructor that takes in a strong InverseKinematicsPtr. More...
 
 operator std::shared_ptr< element_type > () const
 Implicit conversion to regular shared_ptr. More...
 
template<class OtherIkT >
 TemplateInverseKinematicsPtr (const std::shared_ptr< OtherIkT > &sptr)
 Constructor that takes in a shared_ptr. More...
 
template<class OtherIkT , class OtherJacNodePtrT >
TemplateInverseKinematicsPtroperator= (const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodePtrT > &_ptr)
 Assignment operator. More...
 
template<class SharedPtrT >
TemplateInverseKinematicsPtroperator= (const SharedPtrT &_ptr)
 Assignment operator for shared_ptr. More...
 
TemplateInverseKinematicsPtroperator= (std::nullptr_t)
 Assignment operator for nullptr. More...
 
 operator bool () const
 Implicit conversion to bool. More...
 
element_typeoperator* () const
 Dereferencing operator. More...
 
element_typeoperator-> () const
 Dereferencing operation. More...
 
element_typeget () const
 Get the raw pointer. More...
 
std::shared_ptr< element_typeget_shared () const
 Get the shared_ptr held by this InverseKinematicsPtr. More...
 
void set (const std::shared_ptr< IkType > &sptr)
 Set the InverseKinematics module for this InverseKinematicsPtr from a shared_ptr. More...
 
Comparison operators
template<class OtherIkT , class OtherJacNodeT >
bool operator== (const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &_rhs) const
 Equality. More...
 
template<class OtherIkT , class OtherJacNodeT >
bool operator!= (const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &_rhs) const
 Inequality. More...
 
template<class OtherIkT , class OtherJacNodeT >
bool operator< (const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &_rhs) const
 Less than. More...
 
template<class OtherIkT , class OtherJacNodeT >
bool operator> (const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &_rhs) const
 Greater than. More...
 
template<class OtherIkT , class OtherJacNodeT >
bool operator<= (const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &_rhs) const
 Less than or equal to. More...
 
template<class OtherIkT , class OtherJacNodeT >
bool operator>= (const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &_rhs) const
 Greater than or equal to. More...
 

Protected Attributes

std::shared_ptr< element_typemIK
 Pointer to the IK module. More...
 
JacobianNodePtrT mJacNodePtr
 Pointer to the Node associated with the IK module. More...
 

Friends

template<class , class >
class TemplateInverseKinematicsPtr
 

Detailed Description

template<class IkType, class JacobianNodePtrT>
class dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >

TemplateInverseKinematicsPtr is a templated class that enables users to create a reference-counting InverseKinematicsPtr.

Holding onto an InverseKinematicsPtr will ensure that the JacobianNode associated with the InverseKinematics module will not get deleted, and will keep the InverseKinematics reference valid.

Member Typedef Documentation

◆ element_type

template<class IkType , class JacobianNodePtrT >
typedef IkType dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::element_type

Constructor & Destructor Documentation

◆ TemplateInverseKinematicsPtr() [1/5]

template<class IkType , class JacobianNodePtrT >
dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::TemplateInverseKinematicsPtr ( const std::shared_ptr< element_type > &  sptr)
inline

Constructor that accepts a shared_ptr.

◆ TemplateInverseKinematicsPtr() [2/5]

template<class IkType , class JacobianNodePtrT >
dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::TemplateInverseKinematicsPtr ( std::nullptr_t  )
inline

Constructor that accepts a nullptr.

◆ TemplateInverseKinematicsPtr() [3/5]

template<class IkType , class JacobianNodePtrT >
dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::TemplateInverseKinematicsPtr ( )
default

Default constructor.

◆ TemplateInverseKinematicsPtr() [4/5]

template<class IkType , class JacobianNodePtrT >
template<class OtherIkT , class OtherJacNodePtrT >
dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::TemplateInverseKinematicsPtr ( const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodePtrT > &  _ptr)
inline

Constructor that takes in a strong InverseKinematicsPtr.

◆ TemplateInverseKinematicsPtr() [5/5]

template<class IkType , class JacobianNodePtrT >
template<class OtherIkT >
dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::TemplateInverseKinematicsPtr ( const std::shared_ptr< OtherIkT > &  sptr)
inline

Constructor that takes in a shared_ptr.

Member Function Documentation

◆ get()

template<class IkType , class JacobianNodePtrT >
element_type* dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::get ( ) const
inline

Get the raw pointer.

◆ get_shared()

template<class IkType , class JacobianNodePtrT >
std::shared_ptr<element_type> dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::get_shared ( ) const
inline

Get the shared_ptr held by this InverseKinematicsPtr.

◆ operator bool()

template<class IkType , class JacobianNodePtrT >
dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::operator bool ( ) const
inline

Implicit conversion to bool.

◆ operator std::shared_ptr< element_type >()

template<class IkType , class JacobianNodePtrT >
dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::operator std::shared_ptr< element_type > ( ) const
inline

Implicit conversion to regular shared_ptr.

◆ operator!=()

template<class IkType , class JacobianNodePtrT >
template<class OtherIkT , class OtherJacNodeT >
bool dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::operator!= ( const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &  _rhs) const
inline

Inequality.

◆ operator*()

template<class IkType , class JacobianNodePtrT >
element_type& dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::operator* ( ) const
inline

Dereferencing operator.

◆ operator->()

template<class IkType , class JacobianNodePtrT >
element_type* dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::operator-> ( ) const
inline

Dereferencing operation.

◆ operator<()

template<class IkType , class JacobianNodePtrT >
template<class OtherIkT , class OtherJacNodeT >
bool dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::operator< ( const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &  _rhs) const
inline

Less than.

◆ operator<=()

template<class IkType , class JacobianNodePtrT >
template<class OtherIkT , class OtherJacNodeT >
bool dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::operator<= ( const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &  _rhs) const
inline

Less than or equal to.

◆ operator=() [1/3]

template<class IkType , class JacobianNodePtrT >
template<class SharedPtrT >
TemplateInverseKinematicsPtr& dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::operator= ( const SharedPtrT &  _ptr)
inline

Assignment operator for shared_ptr.

◆ operator=() [2/3]

template<class IkType , class JacobianNodePtrT >
template<class OtherIkT , class OtherJacNodePtrT >
TemplateInverseKinematicsPtr& dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::operator= ( const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodePtrT > &  _ptr)
inline

Assignment operator.

◆ operator=() [3/3]

template<class IkType , class JacobianNodePtrT >
TemplateInverseKinematicsPtr& dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::operator= ( std::nullptr_t  )
inline

Assignment operator for nullptr.

◆ operator==()

template<class IkType , class JacobianNodePtrT >
template<class OtherIkT , class OtherJacNodeT >
bool dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::operator== ( const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &  _rhs) const
inline

Equality.

◆ operator>()

template<class IkType , class JacobianNodePtrT >
template<class OtherIkT , class OtherJacNodeT >
bool dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::operator> ( const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &  _rhs) const
inline

Greater than.

◆ operator>=()

template<class IkType , class JacobianNodePtrT >
template<class OtherIkT , class OtherJacNodeT >
bool dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::operator>= ( const TemplateInverseKinematicsPtr< OtherIkT, OtherJacNodeT > &  _rhs) const
inline

Greater than or equal to.

◆ set()

template<class IkType , class JacobianNodePtrT >
void dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::set ( const std::shared_ptr< IkType > &  sptr)
inline

Set the InverseKinematics module for this InverseKinematicsPtr from a shared_ptr.

Friends And Related Function Documentation

◆ TemplateInverseKinematicsPtr

template<class IkType , class JacobianNodePtrT >
template<class , class >
friend class TemplateInverseKinematicsPtr
friend

Member Data Documentation

◆ mIK

template<class IkType , class JacobianNodePtrT >
std::shared_ptr<element_type> dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::mIK
protected

Pointer to the IK module.

◆ mJacNodePtr

template<class IkType , class JacobianNodePtrT >
JacobianNodePtrT dart::dynamics::TemplateInverseKinematicsPtr< IkType, JacobianNodePtrT >::mJacNodePtr
protected

Pointer to the Node associated with the IK module.