Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Friends | List of all members
pinocchio::Symmetric3Tpl< _Scalar, _Options > Class Template Reference

#include <fwd.hpp>

Classes

struct  AlphaSkewSquare
 
struct  SkewSquare
 

Public Types

enum  { Options = _Options }
 
typedef Eigen::Matrix< Scalar, 2, 2, OptionsMatrix2
 
typedef Eigen::Matrix< Scalar, 3, 3, OptionsMatrix3
 
typedef Eigen::Matrix< Scalar, 3, 2, OptionsMatrix32
 
typedef _Scalar Scalar
 
typedef Eigen::Matrix< Scalar, 3, 1, OptionsVector3
 
typedef Eigen::Matrix< Scalar, 6, 1, OptionsVector6
 

Public Member Functions

template<typename NewScalar >
Symmetric3Tpl< NewScalar, Optionscast () const
 
Vector6data ()
 
const Vector6data () const
 
Matrix32 decomposeltI () const
 Computes L for a symmetric matrix A. More...
 
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 Scalaroperator() (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. More...
 
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} $. More...
 
 Symmetric3Tpl ()
 
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)
 
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. More...
 

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} $. More...
 
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. More...
 
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 60 of file spatial/fwd.hpp.

Member Typedef Documentation

◆ Matrix2

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

Definition at line 32 of file spatial/symmetric3.hpp.

◆ Matrix3

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

Definition at line 31 of file spatial/symmetric3.hpp.

◆ Matrix32

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

Definition at line 33 of file spatial/symmetric3.hpp.

◆ Scalar

template<typename _Scalar , int _Options>
typedef _Scalar pinocchio::Symmetric3Tpl< _Scalar, _Options >::Scalar

Definition at line 24 of file spatial/symmetric3.hpp.

◆ Vector3

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

Definition at line 29 of file spatial/symmetric3.hpp.

◆ Vector6

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

Definition at line 30 of file spatial/symmetric3.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<typename _Scalar , int _Options>
anonymous enum
Enumerator
Options 

Definition at line 25 of file spatial/symmetric3.hpp.

Constructor & Destructor Documentation

◆ Symmetric3Tpl() [1/6]

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

Definition at line 38 of file spatial/symmetric3.hpp.

◆ Symmetric3Tpl() [2/6]

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

Definition at line 43 of file spatial/symmetric3.hpp.

◆ Symmetric3Tpl() [3/6]

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

Definition at line 54 of file spatial/symmetric3.hpp.

◆ Symmetric3Tpl() [4/6]

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

Definition at line 59 of file spatial/symmetric3.hpp.

◆ Symmetric3Tpl() [5/6]

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

Definition at line 65 of file spatial/symmetric3.hpp.

◆ Symmetric3Tpl() [6/6]

template<typename _Scalar , int _Options>
pinocchio::Symmetric3Tpl< _Scalar, _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 spatial/symmetric3.hpp.

Member Function Documentation

◆ cast()

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

Definition at line 605 of file spatial/symmetric3.hpp.

◆ data() [1/2]

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

Definition at line 277 of file spatial/symmetric3.hpp.

◆ data() [2/2]

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

Definition at line 273 of file spatial/symmetric3.hpp.

◆ decomposeltI()

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

Computes L for a symmetric matrix A.

Definition at line 552 of file spatial/symmetric3.hpp.

◆ fill()

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

Definition at line 158 of file spatial/symmetric3.hpp.

◆ Identity()

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

Definition at line 117 of file spatial/symmetric3.hpp.

◆ inverse() [1/2]

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

Definition at line 181 of file spatial/symmetric3.hpp.

◆ inverse() [2/2]

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

Definition at line 164 of file spatial/symmetric3.hpp.

◆ isApprox()

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

Definition at line 146 of file spatial/symmetric3.hpp.

◆ isZero()

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

Definition at line 153 of file spatial/symmetric3.hpp.

◆ matrix()

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

Definition at line 304 of file spatial/symmetric3.hpp.

◆ operator Matrix3()

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

Definition at line 318 of file spatial/symmetric3.hpp.

◆ operator!=()

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

Definition at line 141 of file spatial/symmetric3.hpp.

◆ operator()()

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

Definition at line 525 of file spatial/symmetric3.hpp.

◆ operator*()

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

Definition at line 506 of file spatial/symmetric3.hpp.

◆ operator*=()

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

Definition at line 483 of file spatial/symmetric3.hpp.

◆ operator+() [1/2]

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

Definition at line 540 of file spatial/symmetric3.hpp.

◆ operator+() [2/2]

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

Definition at line 461 of file spatial/symmetric3.hpp.

◆ operator+=()

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

Definition at line 471 of file spatial/symmetric3.hpp.

◆ operator-() [1/4]

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

Definition at line 252 of file spatial/symmetric3.hpp.

◆ operator-() [2/4]

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

Definition at line 531 of file spatial/symmetric3.hpp.

◆ operator-() [3/4]

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

Definition at line 202 of file spatial/symmetric3.hpp.

◆ operator-() [4/4]

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

Definition at line 466 of file spatial/symmetric3.hpp.

◆ operator-=() [1/3]

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

Definition at line 261 of file spatial/symmetric3.hpp.

◆ operator-=() [2/3]

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

Definition at line 210 of file spatial/symmetric3.hpp.

◆ operator-=() [3/3]

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

Definition at line 477 of file spatial/symmetric3.hpp.

◆ operator=()

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

Copy assignment operator.

Parameters
[in]otherSymmetric3 to copy

Definition at line 75 of file spatial/symmetric3.hpp.

◆ operator==()

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

Definition at line 136 of file spatial/symmetric3.hpp.

◆ Random()

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

Definition at line 101 of file spatial/symmetric3.hpp.

◆ RandomPositive()

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

Definition at line 291 of file spatial/symmetric3.hpp.

◆ rhsMult()

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

Definition at line 490 of file spatial/symmetric3.hpp.

◆ rotate()

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

Definition at line 562 of file spatial/symmetric3.hpp.

◆ setDiagonal()

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

Definition at line 127 of file spatial/symmetric3.hpp.

◆ setIdentity()

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

Definition at line 121 of file spatial/symmetric3.hpp.

◆ setRandom()

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

Definition at line 105 of file spatial/symmetric3.hpp.

◆ setZero()

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

Definition at line 96 of file spatial/symmetric3.hpp.

◆ svx() [1/2]

template<typename _Scalar , int _Options>
template<typename Vector3 >
Matrix3 pinocchio::Symmetric3Tpl< _Scalar, _Options >::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 spatial/symmetric3.hpp.

◆ svx() [2/2]

template<typename _Scalar , int _Options>
template<typename Vector3 , typename Matrix3 >
static void pinocchio::Symmetric3Tpl< _Scalar, _Options >::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 spatial/symmetric3.hpp.

◆ vtiv()

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

Definition at line 323 of file spatial/symmetric3.hpp.

◆ vxs() [1/2]

template<typename _Scalar , int _Options>
template<typename Vector3 >
Matrix3 pinocchio::Symmetric3Tpl< _Scalar, _Options >::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 spatial/symmetric3.hpp.

◆ vxs() [2/2]

template<typename _Scalar , int _Options>
template<typename Vector3 , typename Matrix3 >
static void pinocchio::Symmetric3Tpl< _Scalar, _Options >::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 spatial/symmetric3.hpp.

◆ Zero()

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

Definition at line 92 of file spatial/symmetric3.hpp.

Friends And Related Function Documentation

◆ operator*

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

Definition at line 247 of file spatial/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 spatial/symmetric3.hpp.

Member Data Documentation

◆ m_data

template<typename _Scalar , int _Options>
Vector6 pinocchio::Symmetric3Tpl< _Scalar, _Options >::m_data
protected

Definition at line 626 of file spatial/symmetric3.hpp.


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


pinocchio
Author(s):
autogenerated on Sat Jun 22 2024 02:41:53