hpp::constraints::CalculusBase< T > Class Template Reference

Main abstract class. More...

#include <hpp/constraints/tools.hh>

Inheritance diagram for hpp::constraints::CalculusBase< T >:
Collaboration diagram for hpp::constraints::CalculusBase< T >:

List of all members.

Public Member Functions

 CalculusBase ()
const eigen::vector3_tvalue () const
const JacobianMatrixjacobian () const
const CrossMatrixcross () const
void computeCrossValue ()
template<typename RhsType >
CrossProduct< T, RhsType > operator^ (const RhsType &rhs) const
template<typename RhsType >
Difference< T, RhsType > operator- (const RhsType &rhs) const
template<typename RhsType >
Sum< T, RhsType > operator+ (const RhsType &rhs) const
ScalarMultiply< T > operator* (const value_type &scalar) const

Protected Attributes

eigen::vector3_t value_
JacobianMatrix jacobian_
CrossMatrix cross_

Detailed Description

template<class T>
class hpp::constraints::CalculusBase< T >

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

template<class T>
hpp::constraints::CalculusBase< T >::CalculusBase ( ) [inline]

Member Function Documentation

template<class T>
void hpp::constraints::CalculusBase< T >::computeCrossValue ( ) [inline]
template<class T>
const CrossMatrix& hpp::constraints::CalculusBase< T >::cross ( ) const [inline]
template<class T>
const JacobianMatrix& hpp::constraints::CalculusBase< T >::jacobian ( ) const [inline, virtual]
template<class T>
ScalarMultiply< T > hpp::constraints::CalculusBase< T >::operator* ( const value_type scalar) const [inline]
template<class T>
template<typename RhsType >
Sum< T, RhsType > hpp::constraints::CalculusBase< T >::operator+ ( const RhsType &  rhs) const [inline]
template<class T>
template<typename RhsType >
Difference< T, RhsType > hpp::constraints::CalculusBase< T >::operator- ( const RhsType &  rhs) const [inline]
template<class T>
template<typename RhsType >
CrossProduct< T, RhsType > hpp::constraints::CalculusBase< T >::operator^ ( const RhsType &  rhs) const [inline]
template<class T>
const eigen::vector3_t& hpp::constraints::CalculusBase< T >::value ( ) const [inline, virtual]

Member Data Documentation