![]() |
Trax3 3.1.0
trax track library
|
#include <C:/Trend/Development/Trax3/Code/spat/Matrix.h>

Public Types | |
| using | Basetype = typename SquareMatrix<Valtype,3>::Basetype |
| Utmost base type of this Rotation. | |
| Public Types inherited from spat::SquareMatrix< Valtype, 3 > | |
| using | Basetype |
| Utmost base type of this SquareMatrix. | |
| Public Types inherited from spat::Matrix< Valtype, nColsAndRows, nColsAndRows > | |
| typedef Valtype | value_type |
Public Member Functions | |||||||
| void | CreateFromAxis (const Vector< Valtype > &axis) | ||||||
| This constructs a rotation with an axis according to the right-hand-rule. (Thumb points in vector direction, fingers show the rotation). | |||||||
| void | CreateFromAxis (Valtype rx, Valtype ry, Valtype rz) noexcept | ||||||
| This constructs a rotation with an axis according to the right-hand-rule. (Thumb points in vector direction, fingers show the rotation). | |||||||
| Vector< Valtype > | RotationAxis () const noexcept | ||||||
| Axis of the rotation described by this matrix. | |||||||
| Valtype | RotationAngle () const noexcept | ||||||
| Angle of the rotation described by this matrix. | |||||||
| template<typename ValtypeP> | |||||||
| Rotation< Valtype > & | operator= (const Frame< ValtypeP, Valtype > &frame) noexcept | ||||||
Construction | |||||||
| |||||||
| Rotation (const SquareMatrix< Valtype, 3 > &matrix) | |||||||
| Rotation (SquareMatrix< Valtype, 3 > &&matrix) noexcept | |||||||
| Rotation (const Basetype &matrix) | |||||||
| Rotation (Basetype &&matrix) noexcept | |||||||
| Rotation (const Vector< Valtype > &axis) | |||||||
| Rotation (Valtype q0, Valtype q1, Valtype q2, Valtype q3) noexcept | |||||||
| template<typename ValtypeP> | |||||||
| Rotation (const Frame< ValtypeP, Valtype > &frame) | |||||||
| template<typename Valtype2> | |||||||
| Rotation (const Transformation< Valtype2 > &matrix) | |||||||
| Rotation (Valtype r00, Valtype r10, Valtype r20, Valtype r01, Valtype r11, Valtype r21, Valtype r02, Valtype r12, Valtype r22) | |||||||
Assignment | |||||||
| |||||||
| template<typename ValtypeP> | |||||||
| Rotation & | operator= (const Frame< ValtypeP, Valtype > &frame) noexcept | ||||||
Rotate | |||||||
Transform an element by this Rotation | |||||||
| void | Rotate (Vector< Valtype > &v) const noexcept | ||||||
| template<typename ValtypeP> | |||||||
| void | Rotate (Frame< ValtypeP, Valtype > &frame) const noexcept | ||||||
Transformation | |||||||
| Position< Valtype > | operator* (const Position< Valtype > &p) const noexcept | ||||||
| Vector< Valtype > | operator* (const Vector< Valtype > &v) const noexcept | ||||||
| Public Member Functions inherited from spat::SquareMatrix< Valtype, 3 > | |||||||
| Matrix & | operator= (const Matrix &matrix) noexcept | ||||||
| Matrix & | operator= (Matrix &&matrix) noexcept | ||||||
| Matrix & | operator= (const std::initializer_list< Valtype > &elements) noexcept | ||||||
| const Valtype & | operator() (unsigned short col, unsigned short row) const noexcept | ||||||
| Valtype & | operator() (unsigned short col, unsigned short row) noexcept | ||||||
| void | SetIdentity () noexcept | ||||||
| Sets the matrix to the identity matrix (i.e. all 1 in diagonal, 0 for everything else). | |||||||
| bool | IsIdentity (Valtype epsilon=0) const noexcept | ||||||
| bool | IsDiagonal () const noexcept | ||||||
| bool | IsSymmetric (Valtype epsilon=0) const noexcept | ||||||
| SquareMatrix & | Transpose () noexcept | ||||||
| Change colums and rows. | |||||||
| SquareMatrix & | Invert () | ||||||
| Invert matrix so that M*I == Identity. | |||||||
| Valtype | Trace () const noexcept | ||||||
| Trace of the matrix, wich is the sum of all element with same indices. | |||||||
| Public Member Functions inherited from spat::Matrix< Valtype, nColsAndRows, nColsAndRows > | |||||||
| void | SetNull () noexcept | ||||||
| Sets all elements to 0. | |||||||
| constexpr unsigned short | Cols () const noexcept | ||||||
| Number of columns. | |||||||
| constexpr unsigned short | Rows () const noexcept | ||||||
| Number of rows. | |||||||
| bool | IsEqual (const Matrix &matrix, Valtype delta=0) const noexcept | ||||||
| Test elements for equality up to delta distance. | |||||||
| bool | operator== (const Matrix &matrix) const noexcept | ||||||
| Comparison for equality. | |||||||
| bool | operator!= (const Matrix &matrix) const noexcept | ||||||
| Comparison for inequality. | |||||||
| void | operator*= (Valtype skalar) noexcept | ||||||
| Matrix * Skalar multiplication. | |||||||
| void | operator*= (const Matrix< Valtype, nCols, nCols > &matrix) | ||||||
| Matrix multiplication. | |||||||
| void | operator/= (Valtype skalar) noexcept | ||||||
| Matrix / Skalar division. | |||||||
| void | operator+= (const Matrix &matrix) noexcept | ||||||
| Matrix addition. | |||||||
| void | operator-= (const Matrix &matrix) noexcept | ||||||
| Matrix subtraction. | |||||||
| const Valtype * | ptr () const noexcept | ||||||
| Pointer accessor for direct copying. The memory layout is column-major order. | |||||||
| Matrix< Valtype, nCols-1, nRows-1 > | SubMatrix (unsigned short c, unsigned short r) const | ||||||
| Extracts the submatrix of mat wich results from omitting the row r and collumn c. | |||||||
| Matrix (const Matrix &matrix) | |||||||
| Matrix (Matrix &&matrix) noexcept | |||||||
| Matrix (const std::initializer_list< Valtype > &elements) | |||||||
| Matrix & | operator= (const Matrix &matrix) noexcept | ||||||
| Matrix & | operator= (Matrix &&matrix) noexcept | ||||||
| Matrix & | operator= (const std::initializer_list< Valtype > &elements) noexcept | ||||||
| const Valtype & | operator() (unsigned short col, unsigned short row) const noexcept | ||||||
| Valtype & | operator() (unsigned short col, unsigned short row) noexcept | ||||||
Rotation matrix.
|
noexcept |
Angle of the rotation described by this matrix.
|
inlinenoexcept |
Axis of the rotation described by this matrix.