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
 Return the head-pitch-banking angles. More...
 
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