Template Class Symmetric3Tpl

Nested Relationships

Nested Types

Class Documentation

template<typename _Scalar, int _Options>
class Symmetric3Tpl

Public Types

Values:

enumerator Options
typedef _Scalar Scalar
typedef Eigen::Matrix<Scalar, 3, 1, Options> Vector3
typedef Eigen::Matrix<Scalar, 6, 1, Options> Vector6
typedef Eigen::Matrix<Scalar, 3, 3, Options> Matrix3
typedef Eigen::Matrix<Scalar, 2, 2, Options> Matrix2
typedef Eigen::Matrix<Scalar, 3, 2, Options> Matrix32

Public Functions

inline Symmetric3Tpl()
template<typename Sc, int Opt>
inline explicit Symmetric3Tpl(const Eigen::Matrix<Sc, 3, 3, Opt> &I)
inline explicit Symmetric3Tpl(const Vector6 &I)
inline Symmetric3Tpl(const Scalar &a0, const Scalar &a1, const Scalar &a2, const Scalar &a3, const Scalar &a4, const Scalar &a5)
inline void setZero()
inline void setRandom()
inline void setIdentity()
inline bool operator==(const Symmetric3Tpl &other) const
inline bool operator!=(const Symmetric3Tpl &other) const
inline bool isApprox(const Symmetric3Tpl &other, const Scalar &prec = Eigen::NumTraits<Scalar>::dummy_precision()) const
inline bool isZero(const Scalar &prec = Eigen::NumTraits<Scalar>::dummy_precision()) const
inline void fill(const Scalar value)
inline Symmetric3Tpl operator-(const SkewSquare &v) const
inline Symmetric3Tpl &operator-=(const SkewSquare &v)
inline Symmetric3Tpl operator-(const AlphaSkewSquare &v) const
inline Symmetric3Tpl &operator-=(const AlphaSkewSquare &v)
inline const Vector6 &data() const
inline Vector6 &data()
inline Matrix3 matrix() const
inline operator Matrix3() const
inline Scalar vtiv(const Vector3 &v) const
template<typename Vector3>
inline 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.

Template Parameters:

Vector3

Parameters:

v[in] a vector of dimension 3.

Returns:

the result \( [v]_{\times} S \).

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

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

Template Parameters:

Vector3

Parameters:

v[in] a vector of dimension 3.

Returns:

the result \( S [v]_{\times} \).

inline Symmetric3Tpl operator+(const Symmetric3Tpl &s2) const
inline Symmetric3Tpl &operator+=(const Symmetric3Tpl &s2)
template<typename V3>
inline Vector3 operator*(const Eigen::MatrixBase<V3> &v) const
inline const Scalar &operator()(const int &i, const int &j) const
inline Symmetric3Tpl operator-(const Matrix3 &S) const
inline Symmetric3Tpl operator+(const Matrix3 &S) const
inline Matrix32 decomposeltI() const

Computes L for a symmetric matrix A.

template<typename D>
inline Symmetric3Tpl rotate(const Eigen::MatrixBase<D> &R) const
template<typename NewScalar>
inline Symmetric3Tpl<NewScalar, Options> cast() const
Returns:

An expression of *this with the Scalar type casted to NewScalar.

Public Static Functions

static inline Symmetric3Tpl Zero()
static inline Symmetric3Tpl Random()
static inline Symmetric3Tpl Identity()
static inline Symmetric3Tpl RandomPositive()
template<typename Vector3, typename Matrix3>
static inline 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.

Template Parameters:

Vector3, Matrix3

Parameters:
  • v[in] a vector of dimension 3.

  • S3[in] a symmetric matrix of dimension 3x3.

  • M[out] an output matrix of dimension 3x3.

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

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

Template Parameters:

Vector3, Matrix3

Parameters:
  • v[in] a vector of dimension 3.

  • S3[in] a symmetric matrix of dimension 3x3.

  • M[out] an output matrix of dimension 3x3.

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

Protected Attributes

Vector6 m_data

Friends

template<typename D>
inline friend Matrix3 operator-(const Symmetric3Tpl &S, const Eigen::MatrixBase<D> &M)
inline friend AlphaSkewSquare operator*(const Scalar &m, const SkewSquare &sk)
struct AlphaSkewSquare

Public Functions

inline AlphaSkewSquare(const Scalar &m, const SkewSquare &v)
inline AlphaSkewSquare(const Scalar &m, const Vector3 &v)
inline operator Symmetric3Tpl() const

Public Members

const Scalar &m
const Vector3 &v
struct SkewSquare

Public Functions

inline SkewSquare(const Vector3 &v)
inline operator Symmetric3Tpl() const

Public Members

const Vector3 &v