pinocchio  3.3.1
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
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. 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...
 
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 21 of file symmetric3.hpp.

Member Function Documentation

◆ cast()

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.

◆ operator=()

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

Copy assignment operator.

Parameters
[in]otherSymmetric3 to copy

Definition at line 75 of file symmetric3.hpp.

◆ svx() [1/2]

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]

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.

◆ vxs() [1/2]

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]

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.


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