pinocchio  2.7.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
Symmetric3Tpl< _Scalar, _Options > Class Template Reference

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 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 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)
 
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
 
Symmetric3Tpl operator+ (const Matrix3 &S) const
 
Symmetric3Tpl operator+ (const Symmetric3Tpl &s2) const
 
Symmetric3Tploperator+= (const Symmetric3Tpl &s2)
 
Symmetric3Tpl operator- (const AlphaSkewSquare &v) const
 
Symmetric3Tpl operator- (const Matrix3 &S) const
 
Symmetric3Tpl operator- (const SkewSquare &v) const
 
Symmetric3Tploperator-= (const AlphaSkewSquare &v)
 
Symmetric3Tploperator-= (const SkewSquare &v)
 
bool operator== (const Symmetric3Tpl &other) const
 
template<typename D >
Symmetric3Tpl rotate (const Eigen::MatrixBase< D > &R) const
 
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)
 
template<typename D >
Matrix3 operator- (const Symmetric3Tpl &S, const Eigen::MatrixBase< D > &M)
 

Detailed Description

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

Definition at line 53 of file fwd.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 453 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 325 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 284 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 267 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 223 of file symmetric3.hpp.


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