pinocchio  3.7.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
 
Loading...
Searching...
No Matches
Symmetric3Tpl< _Scalar, _Options > Class Template Reference
Inheritance diagram for Symmetric3Tpl< _Scalar, _Options >:
Collaboration diagram for Symmetric3Tpl< _Scalar, _Options >:

Classes

struct  AlphaSkewSquare
 
struct  SkewSquare
 

Public Types

enum  { Options = _Options }
 
typedef Eigen::Matrix< Scalar, 2, 2, Options > Matrix2
 
typedef Eigen::Matrix< Scalar, 3, 3, Options > Matrix3
 
typedef Eigen::Matrix< Scalar, 3, 2, Options > Matrix32
 
typedef _Scalar Scalar
 
typedef Eigen::Matrix< Scalar, 3, 1, Options > Vector3
 
typedef Eigen::Matrix< Scalar, 6, 1, Options > Vector6
 
- Public Types inherited from NumericalBase< Symmetric3Tpl< _Scalar, _Options > >
typedef traits< Symmetric3Tpl< _Scalar, _Options > >::Scalar Scalar
 

Public Member Functions

template<typename Sc , int Opt>
 Symmetric3Tpl (const Eigen::Matrix< Sc, 3, 3, Opt > &I)
 
 Symmetric3Tpl (const Scalar &a0, const Scalar &a1, const Scalar &a2, const Scalar &a3, const Scalar &a4, const Scalar &a5)
 
 Symmetric3Tpl (const Symmetric3Tpl &other)
 
template<typename S2 , int O2>
 Symmetric3Tpl (const Symmetric3Tpl< S2, O2 > &other)
 
 Symmetric3Tpl (const Vector6 &I)
 
template<typename NewScalar >
Symmetric3Tpl< NewScalar, Options > cast () const
 
Vector6 & data ()
 
const Vector6 & data () const
 
Matrix32 decomposeltI () const
 Computes L for a symmetric matrix A.
 
void fill (const Scalar value)
 
Matrix3 inverse () const
 
template<typename Matrix3Like >
void inverse (const Eigen::MatrixBase< Matrix3Like > &res_) const
 
bool isApprox (const Symmetric3Tpl &other, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 
bool isZero (const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 
Matrix3 matrix () const
 
 operator Matrix3 () const
 
bool operator!= (const Symmetric3Tpl &other) const
 
const Scalar & operator() (const int i, const int j) const
 
template<typename V3 >
Vector3 operator* (const Eigen::MatrixBase< V3 > &v) const
 
Symmetric3Tploperator*= (const Scalar s)
 
template<typename Matrix3Like >
Symmetric3Tpl operator+ (const Eigen::MatrixBase< Matrix3Like > &S) const
 
Symmetric3Tpl operator+ (const Symmetric3Tpl &s2) const
 
Symmetric3Tploperator+= (const Symmetric3Tpl &s2)
 
Symmetric3Tpl operator- (const AlphaSkewSquare &v) const
 
template<typename Matrix3Like >
Symmetric3Tpl operator- (const Eigen::MatrixBase< Matrix3Like > &S) const
 
Symmetric3Tpl operator- (const SkewSquare &v) const
 
Symmetric3Tpl operator- (const Symmetric3Tpl &s2) const
 
Symmetric3Tploperator-= (const AlphaSkewSquare &v)
 
Symmetric3Tploperator-= (const SkewSquare &v)
 
Symmetric3Tploperator-= (const Symmetric3Tpl &s2)
 
Symmetric3Tploperator= (const Symmetric3Tpl &clone)
 Copy assignment operator.
 
bool operator== (const Symmetric3Tpl &other) const
 
template<typename D >
Symmetric3Tpl rotate (const Eigen::MatrixBase< D > &R) const
 
template<typename Vector3Like >
void setDiagonal (const Eigen::MatrixBase< Vector3Like > &diag)
 
void setIdentity ()
 
void setRandom ()
 
void setZero ()
 
template<typename Vector3 >
Matrix3 svx (const Eigen::MatrixBase< Vector3 > &v) const
 Performs the operation \( M = S_{3} [v]_{\times} \).
 
Scalar vtiv (const Vector3 &v) const
 
template<typename Vector3 >
Matrix3 vxs (const Eigen::MatrixBase< Vector3 > &v) const
 Performs the operation \( [v]_{\times} S \). This operation is equivalent to applying the cross product of v on each column of S.
 

Static Public Member Functions

static Symmetric3Tpl Identity ()
 
static Symmetric3Tpl Random ()
 
static Symmetric3Tpl RandomPositive ()
 
template<typename V3in , typename V3out >
static void rhsMult (const Symmetric3Tpl &S3, const Eigen::MatrixBase< V3in > &vin, const Eigen::MatrixBase< V3out > &vout)
 
template<typename Vector3 , typename Matrix3 >
static void svx (const Eigen::MatrixBase< Vector3 > &v, const Symmetric3Tpl &S3, const Eigen::MatrixBase< Matrix3 > &M)
 Performs the operation \( M = S_{3} [v]_{\times} \).
 
template<typename Vector3 , typename Matrix3 >
static void vxs (const Eigen::MatrixBase< Vector3 > &v, const Symmetric3Tpl &S3, const Eigen::MatrixBase< Matrix3 > &M)
 Performs the operation \( M = [v]_{\times} S_{3} \). This operation is equivalent to applying the cross product of v on each column of S.
 
static Symmetric3Tpl Zero ()
 

Protected Attributes

Vector6 m_data
 

Friends

AlphaSkewSquare operator* (const Scalar &m, const SkewSquare &sk)
 
std::ostream & operator<< (std::ostream &os, const Symmetric3Tpl< Scalar, Options > &S3)
 

Detailed Description

template<typename _Scalar, int _Options>
class pinocchio::Symmetric3Tpl< _Scalar, _Options >

Definition at line 21 of file symmetric3.hpp.

Member Typedef Documentation

◆ Matrix2

template<typename _Scalar , int _Options>
typedef Eigen::Matrix<Scalar, 2, 2, Options> Matrix2

Definition at line 32 of file symmetric3.hpp.

◆ Matrix3

template<typename _Scalar , int _Options>
typedef Eigen::Matrix<Scalar, 3, 3, Options> Matrix3

Definition at line 31 of file symmetric3.hpp.

◆ Matrix32

template<typename _Scalar , int _Options>
typedef Eigen::Matrix<Scalar, 3, 2, Options> Matrix32

Definition at line 33 of file symmetric3.hpp.

◆ Scalar

template<typename _Scalar , int _Options>
typedef _Scalar Scalar

Definition at line 24 of file symmetric3.hpp.

◆ Vector3

template<typename _Scalar , int _Options>
typedef Eigen::Matrix<Scalar, 3, 1, Options> Vector3

Definition at line 29 of file symmetric3.hpp.

◆ Vector6

template<typename _Scalar , int _Options>
typedef Eigen::Matrix<Scalar, 6, 1, Options> Vector6

Definition at line 30 of file symmetric3.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<typename _Scalar , int _Options>
anonymous enum

Definition at line 25 of file symmetric3.hpp.

Constructor & Destructor Documentation

◆ Symmetric3Tpl() [1/6]

template<typename _Scalar , int _Options>
Symmetric3Tpl ( )
inline

Definition at line 38 of file symmetric3.hpp.

◆ Symmetric3Tpl() [2/6]

template<typename _Scalar , int _Options>
template<typename Sc , int Opt>
Symmetric3Tpl ( const Eigen::Matrix< Sc, 3, 3, Opt > &  I)
inlineexplicit

Definition at line 43 of file symmetric3.hpp.

◆ Symmetric3Tpl() [3/6]

template<typename _Scalar , int _Options>
Symmetric3Tpl ( const Vector6 &  I)
inlineexplicit

Definition at line 54 of file symmetric3.hpp.

◆ Symmetric3Tpl() [4/6]

template<typename _Scalar , int _Options>
Symmetric3Tpl ( const Symmetric3Tpl< _Scalar, _Options > &  other)
inline

Definition at line 59 of file symmetric3.hpp.

◆ Symmetric3Tpl() [5/6]

template<typename _Scalar , int _Options>
template<typename S2 , int O2>
Symmetric3Tpl ( const Symmetric3Tpl< S2, O2 > &  other)
inlineexplicit

Definition at line 65 of file symmetric3.hpp.

◆ Symmetric3Tpl() [6/6]

template<typename _Scalar , int _Options>
Symmetric3Tpl ( const Scalar &  a0,
const Scalar &  a1,
const Scalar &  a2,
const Scalar &  a3,
const Scalar &  a4,
const Scalar &  a5 
)
inline

Definition at line 81 of file symmetric3.hpp.

Member Function Documentation

◆ cast()

template<typename _Scalar , int _Options>
template<typename NewScalar >
Symmetric3Tpl< NewScalar, Options > cast ( ) const
inline
Returns
An expression of *this with the Scalar type casted to NewScalar.

Definition at line 605 of file symmetric3.hpp.

◆ data() [1/2]

template<typename _Scalar , int _Options>
Vector6 & data ( )
inline

Definition at line 277 of file symmetric3.hpp.

◆ data() [2/2]

template<typename _Scalar , int _Options>
const Vector6 & data ( ) const
inline

Definition at line 273 of file symmetric3.hpp.

◆ decomposeltI()

template<typename _Scalar , int _Options>
Matrix32 decomposeltI ( ) const
inline

Computes L for a symmetric matrix A.

Definition at line 552 of file symmetric3.hpp.

◆ fill()

template<typename _Scalar , int _Options>
void fill ( const Scalar  value)
inline

Definition at line 158 of file symmetric3.hpp.

◆ Identity()

template<typename _Scalar , int _Options>
static Symmetric3Tpl Identity ( )
inlinestatic

Definition at line 117 of file symmetric3.hpp.

◆ inverse() [1/2]

template<typename _Scalar , int _Options>
Matrix3 inverse ( ) const
inline

Definition at line 181 of file symmetric3.hpp.

◆ inverse() [2/2]

template<typename _Scalar , int _Options>
template<typename Matrix3Like >
void inverse ( const Eigen::MatrixBase< Matrix3Like > &  res_) const
inline

Definition at line 164 of file symmetric3.hpp.

◆ isApprox()

template<typename _Scalar , int _Options>
bool isApprox ( const Symmetric3Tpl< _Scalar, _Options > &  other,
const Scalar &  prec = Eigen::NumTraits<Scalar>::dummy_precision() 
) const
inline

Definition at line 146 of file symmetric3.hpp.

◆ isZero()

template<typename _Scalar , int _Options>
bool isZero ( const Scalar &  prec = Eigen::NumTraits<Scalar>::dummy_precision()) const
inline

Definition at line 153 of file symmetric3.hpp.

◆ matrix()

template<typename _Scalar , int _Options>
Matrix3 matrix ( ) const
inline

Definition at line 304 of file symmetric3.hpp.

◆ operator Matrix3()

template<typename _Scalar , int _Options>
operator Matrix3 ( ) const
inline

Definition at line 318 of file symmetric3.hpp.

◆ operator!=()

template<typename _Scalar , int _Options>
bool operator!= ( const Symmetric3Tpl< _Scalar, _Options > &  other) const
inline

Definition at line 141 of file symmetric3.hpp.

◆ operator()()

template<typename _Scalar , int _Options>
const Scalar & operator() ( const int  i,
const int  j 
) const
inline

Definition at line 525 of file symmetric3.hpp.

◆ operator*()

template<typename _Scalar , int _Options>
template<typename V3 >
Vector3 operator* ( const Eigen::MatrixBase< V3 > &  v) const
inline

Definition at line 506 of file symmetric3.hpp.

◆ operator*=()

template<typename _Scalar , int _Options>
Symmetric3Tpl & operator*= ( const Scalar  s)
inline

Definition at line 483 of file symmetric3.hpp.

◆ operator+() [1/2]

template<typename _Scalar , int _Options>
template<typename Matrix3Like >
Symmetric3Tpl operator+ ( const Eigen::MatrixBase< Matrix3Like > &  S) const
inline

Definition at line 540 of file symmetric3.hpp.

◆ operator+() [2/2]

template<typename _Scalar , int _Options>
Symmetric3Tpl operator+ ( const Symmetric3Tpl< _Scalar, _Options > &  s2) const
inline

Definition at line 461 of file symmetric3.hpp.

◆ operator+=()

template<typename _Scalar , int _Options>
Symmetric3Tpl & operator+= ( const Symmetric3Tpl< _Scalar, _Options > &  s2)
inline

Definition at line 471 of file symmetric3.hpp.

◆ operator-() [1/4]

template<typename _Scalar , int _Options>
Symmetric3Tpl operator- ( const AlphaSkewSquare v) const
inline

Definition at line 252 of file symmetric3.hpp.

◆ operator-() [2/4]

template<typename _Scalar , int _Options>
template<typename Matrix3Like >
Symmetric3Tpl operator- ( const Eigen::MatrixBase< Matrix3Like > &  S) const
inline

Definition at line 531 of file symmetric3.hpp.

◆ operator-() [3/4]

template<typename _Scalar , int _Options>
Symmetric3Tpl operator- ( const SkewSquare v) const
inline

Definition at line 202 of file symmetric3.hpp.

◆ operator-() [4/4]

template<typename _Scalar , int _Options>
Symmetric3Tpl operator- ( const Symmetric3Tpl< _Scalar, _Options > &  s2) const
inline

Definition at line 466 of file symmetric3.hpp.

◆ operator-=() [1/3]

template<typename _Scalar , int _Options>
Symmetric3Tpl & operator-= ( const AlphaSkewSquare v)
inline

Definition at line 261 of file symmetric3.hpp.

◆ operator-=() [2/3]

template<typename _Scalar , int _Options>
Symmetric3Tpl & operator-= ( const SkewSquare v)
inline

Definition at line 210 of file symmetric3.hpp.

◆ operator-=() [3/3]

template<typename _Scalar , int _Options>
Symmetric3Tpl & operator-= ( const Symmetric3Tpl< _Scalar, _Options > &  s2)
inline

Definition at line 477 of file symmetric3.hpp.

◆ operator=()

template<typename _Scalar , int _Options>
Symmetric3Tpl & operator= ( const Symmetric3Tpl< _Scalar, _Options > &  clone)
inline

Copy assignment operator.

Parameters
[in]otherSymmetric3 to copy

Definition at line 75 of file symmetric3.hpp.

◆ operator==()

template<typename _Scalar , int _Options>
bool operator== ( const Symmetric3Tpl< _Scalar, _Options > &  other) const
inline

Definition at line 136 of file symmetric3.hpp.

◆ Random()

template<typename _Scalar , int _Options>
static Symmetric3Tpl Random ( )
inlinestatic

Definition at line 101 of file symmetric3.hpp.

◆ RandomPositive()

template<typename _Scalar , int _Options>
static Symmetric3Tpl RandomPositive ( )
inlinestatic

Definition at line 291 of file symmetric3.hpp.

◆ rhsMult()

template<typename _Scalar , int _Options>
template<typename V3in , typename V3out >
static void rhsMult ( const Symmetric3Tpl< _Scalar, _Options > &  S3,
const Eigen::MatrixBase< V3in > &  vin,
const Eigen::MatrixBase< V3out > &  vout 
)
inlinestatic

Definition at line 490 of file symmetric3.hpp.

◆ rotate()

template<typename _Scalar , int _Options>
template<typename D >
Symmetric3Tpl rotate ( const Eigen::MatrixBase< D > &  R) const
inline

Definition at line 562 of file symmetric3.hpp.

◆ setDiagonal()

template<typename _Scalar , int _Options>
template<typename Vector3Like >
void setDiagonal ( const Eigen::MatrixBase< Vector3Like > &  diag)
inline

Definition at line 127 of file symmetric3.hpp.

◆ setIdentity()

template<typename _Scalar , int _Options>
void setIdentity ( )
inline

Definition at line 121 of file symmetric3.hpp.

◆ setRandom()

template<typename _Scalar , int _Options>
void setRandom ( )
inline

Definition at line 105 of file symmetric3.hpp.

◆ setZero()

template<typename _Scalar , int _Options>
void setZero ( )
inline

Definition at line 96 of file symmetric3.hpp.

◆ svx() [1/2]

template<typename _Scalar , int _Options>
template<typename Vector3 >
Matrix3 svx ( const Eigen::MatrixBase< Vector3 > &  v) const
inline

Performs the operation \( M = S_{3} [v]_{\times} \).

Template Parameters
Vector3
Parameters
[in]va vector of dimension 3.
Returns
the result \( S [v]_{\times} \).

Definition at line 454 of file symmetric3.hpp.

◆ svx() [2/2]

template<typename _Scalar , int _Options>
template<typename Vector3 , typename Matrix3 >
static void svx ( const Eigen::MatrixBase< Vector3 > &  v,
const Symmetric3Tpl< _Scalar, _Options > &  S3,
const Eigen::MatrixBase< Matrix3 > &  M 
)
inlinestatic

Performs the operation \( M = S_{3} [v]_{\times} \).

Template Parameters
Vector3,Matrix3
Parameters
[in]va vector of dimension 3.
[in]S3a symmetric matrix of dimension 3x3.
[out]Man output matrix of dimension 3x3.

Definition at line 412 of file symmetric3.hpp.

◆ vtiv()

template<typename _Scalar , int _Options>
Scalar vtiv ( const Vector3 &  v) const
inline

Definition at line 323 of file symmetric3.hpp.

◆ vxs() [1/2]

template<typename _Scalar , int _Options>
template<typename Vector3 >
Matrix3 vxs ( const Eigen::MatrixBase< Vector3 > &  v) const
inline

Performs the operation \( [v]_{\times} S \). This operation is equivalent to applying the cross product of v on each column of S.

Template Parameters
Vector3
Parameters
[in]va vector of dimension 3.
Returns
the result \( [v]_{\times} S \).

Definition at line 395 of file symmetric3.hpp.

◆ vxs() [2/2]

template<typename _Scalar , int _Options>
template<typename Vector3 , typename Matrix3 >
static void vxs ( const Eigen::MatrixBase< Vector3 > &  v,
const Symmetric3Tpl< _Scalar, _Options > &  S3,
const Eigen::MatrixBase< Matrix3 > &  M 
)
inlinestatic

Performs the operation \( M = [v]_{\times} S_{3} \). This operation is equivalent to applying the cross product of v on each column of S.

Template Parameters
Vector3,Matrix3
Parameters
[in]va vector of dimension 3.
[in]S3a symmetric matrix of dimension 3x3.
[out]Man output matrix of dimension 3x3.

Definition at line 351 of file symmetric3.hpp.

◆ Zero()

template<typename _Scalar , int _Options>
static Symmetric3Tpl Zero ( )
inlinestatic

Definition at line 92 of file symmetric3.hpp.

Friends And Related Symbol Documentation

◆ operator*

template<typename _Scalar , int _Options>
AlphaSkewSquare operator* ( const Scalar &  m,
const SkewSquare sk 
)
friend

Definition at line 247 of file symmetric3.hpp.

◆ operator<<

template<typename _Scalar , int _Options>
std::ostream & operator<< ( std::ostream &  os,
const Symmetric3Tpl< Scalar, Options > &  S3 
)
friend

Definition at line 610 of file symmetric3.hpp.

Member Data Documentation

◆ m_data

template<typename _Scalar , int _Options>
Vector6 m_data
protected

Definition at line 626 of file symmetric3.hpp.


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