hpp-constraints  4.9.1
Definition of basic geometric constraints for motion planning
hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType > Class Template Reference

#include <hpp/constraints/symbolic-calculus.hh>

Inheritance diagram for hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >:
Collaboration diagram for hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >:

Public Member Functions

 CalculusBase ()
 
 CalculusBase (const ValueType &value, const JacobianType &jacobian)
 
 CalculusBase (const CalculusBase &o)
 
const ValueType & value () const
 
const JacobianType & jacobian () const
 
void computeValue (const ConfigurationIn_t arg)
 
void computeJacobian (const ConfigurationIn_t arg)
 
void invalidate ()
 
const CrossType & cross () const
 
void computeCrossValue (const ConfigurationIn_t arg)
 

Protected Member Functions

void init (const typename Traits< T >::Ptr_t &ptr)
 

Protected Attributes

ValueType value_
 
JacobianType jacobian_
 
CrossType cross_
 
bool vValid_
 
bool jValid_
 
bool cValid_
 

Additional Inherited Members

- Public Types inherited from hpp::constraints::CalculusBaseAbstract< ValueType, JacobianType >
typedef ValueType ValueType_t
 
typedef JacobianType JacobianType_t
 

Detailed Description

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
class hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >

Main abstract class.

The framework is using CRTP to virtual function calls overload. Keep in mind, so far, no mathematical simplification is done on the expression you provide. It means that you may have a more efficient expression by calculating and simplifying the jacobian yourself. These classes provide:

  • a fast way of defining new constraints,
  • a robust way of calculation of jacobians - hand calculation error proof
  • a fast way to check the results of your calculations.

Constructor & Destructor Documentation

◆ CalculusBase() [1/3]

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >::CalculusBase ( )
inline

◆ CalculusBase() [2/3]

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >::CalculusBase ( const ValueType &  value,
const JacobianType &  jacobian 
)
inline

◆ CalculusBase() [3/3]

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >::CalculusBase ( const CalculusBase< T, ValueType, JacobianType, CrossType > &  o)
inline

Member Function Documentation

◆ computeCrossValue()

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
void hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >::computeCrossValue ( const ConfigurationIn_t  arg)
inline

◆ computeJacobian()

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
void hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >::computeJacobian ( const ConfigurationIn_t  arg)
inlinevirtual

◆ computeValue()

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
void hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >::computeValue ( const ConfigurationIn_t  arg)
inlinevirtual

◆ cross()

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
const CrossType& hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >::cross ( ) const
inline

◆ init()

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
void hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >::init ( const typename Traits< T >::Ptr_t &  ptr)
inlineprotected

◆ invalidate()

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
void hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >::invalidate ( )
inlinevirtual

◆ jacobian()

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
const JacobianType& hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >::jacobian ( ) const
inlinevirtual

◆ value()

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
const ValueType& hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >::value ( ) const
inlinevirtual

Member Data Documentation

◆ cross_

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
CrossType hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >::cross_
protected

◆ cValid_

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
bool hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >::cValid_
protected

◆ jacobian_

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
JacobianType hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >::jacobian_
protected

◆ jValid_

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
bool hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >::jValid_
protected

◆ value_

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
ValueType hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >::value_
protected

◆ vValid_

template<class T, class ValueType = vector3_t, class JacobianType = JacobianMatrix, class CrossType = CrossMatrix>
bool hpp::constraints::CalculusBase< T, ValueType, JacobianType, CrossType >::vValid_
protected

The documentation for this class was generated from the following file: