chrono::ChMatrix33< Real > Class Template Reference

## Description

### template<typename Real = double> class chrono::ChMatrix33< Real >

Definition of a 3x3 fixed size matrix to represent 3D rotations and inertia tensors.

#include <ChMatrix33.h>

Inherits Matrix< Real, 3, 3, Eigen::RowMajor >.

## Public Member Functions

ChMatrix33 ()
Default constructor: uninitialized 3x3 matrix.

template<typename OtherDerived >
ChMatrix33 (const Eigen::MatrixBase< OtherDerived > &other)
Constructor from Eigen expressions.

ChMatrix33 (Real val)
Construct a diagonal matrix with the specified value on the diagonal.

ChMatrix33 (const ChVector< Real > &v)
Construct a diagonal matrix with the specified values on the diagonal.

ChMatrix33 (const ChVector<> &diag, const ChVector<> &off_diag)
Construct a symmetric 3x3 matrix with the specified vectors for the diagonal and off-digonal elements. More...

ChMatrix33 (const ChQuaternion< Real > &q)
Construct a 3x3 rotation matrix from the given quaternion.

ChMatrix33 (Real angle, const ChVector<> &axis)
Construct a 3x3 rotation matrix from an angle and a rotation axis. More...

ChMatrix33 (const ChVector<> &X, const ChVector<> &Y, const ChVector<> &Z)
Construct a 3x3 matrix with the given vectors as columns. More...

template<typename OtherDerived >
ChMatrix33operator= (const Eigen::MatrixBase< OtherDerived > &other)
This method allows assigning Eigen expressions to ChMatrix33.

ChVector< Real > operator* (const ChVector< Real > &v) const
Multiply this matrix by a 3d vector.

void Set_A_quaternion (const ChQuaternion< Real > &quat)
Fill this 3x3 matrix as a rotation matrix, given a unit quaternion.

void Set_A_Eulero (const ChVector< Real > &angles)
Fill this 3x3 matrix as a rotation matrix, given three Euler angles.

void Set_A_Cardano (const ChVector< Real > &angles)
Fill this 3x3 matrix as a rotation matrix, given three Cardano angles.

void Set_A_Hpb (const ChVector< Real > &angles)
Fill this 3x3 matrix as a rotation matrix, given three head, pitch, banking angles.

void Set_A_Rxyz (const ChVector< Real > &xyz)
Fill this 3x3 matrix as a rotation matrix, given three angles of consecutive rotations about x,y,z axis.

void Set_A_Rodriguez (const ChVector< Real > &rod)
Fill this 3x3 matrix as a rotation matrix, given three Rodriguez parameters.

void Set_A_axis (const ChVector< Real > &X, const ChVector< Real > &Y, const ChVector< Real > &Z)
Fill this 3x3 matrix as a rotation matrix, given the three versors X,Y,Z of the basis.

void Set_A_Xdir (const ChVector< Real > &Xdir, const ChVector< Real > &Vsingular=ChVector< Real >(0, 1, 0))
Fill this 3x3 matrix as a rotation matrix with the X axis along the provided direction. More...

ChVector< Real > Get_A_Xaxis () const
Return the versor of X axis.

ChVector< Real > Get_A_Yaxis () const
Return the versor of Y axis.

ChVector< Real > Get_A_Zaxis () const
Return the versor of Z axis.

ChQuaternion< Real > Get_A_quaternion () const
Return the corresponding unit quaternion. More...

ChVector< Real > Get_A_Eulero () const
Return the Eulero angles. More...

ChVector< Real > Get_A_Cardano () const
Return the Cardano angles. More...

ChVector< Real > Get_A_Hpb () const

ChVector< Real > Get_A_Rxyz () const
Return the angles for consecutive rotations on x,y,z axes. More...

ChVector< Real > Get_A_Rodriguez () const
Return the Rodriguez parameters. More...

ChVector< Real > GetAx () const
Assuming this matrix is a rotation matrix, get Ax vector.

void SelfAdjointEigenSolve (ChMatrix33< Real > &evec, ChVectorN< Real, 3 > &evals) const
Compute eigenvectors and eigenvalues. More...

The documentation for this class was generated from the following file:
• /builds/uwsbel/chrono/src/chrono/core/ChMatrix33.h