3 by 3 double matrix. More...
#include <Mat3x3d.h>
Public Member Functions | |
Mat3x3d (Vec3d _a, Vec3d _b, Vec3d _c) noexcept | |
Construct matrix from 3 Vec3d vectors. | |
Mat3x3d () noexcept | |
Construct the 0 matrix. | |
Mat3x3d (float a) noexcept | |
Construct a matrix from a single scalar value. | |
![]() | |
ArithSqMat3x3Float (Vec3d_a, Vec3d_b, Vec3d_c) noexcept | |
Construct matrix from 3 Vec3f vectors. | |
ArithSqMat3x3Float () noexcept | |
Construct the 0 matrix. | |
ArithSqMat3x3Float (ScalarType a) noexcept | |
Construct a matrix from a single scalar value. | |
![]() | |
const Mat3x3d & | operator*= (const Mat3x3d &m2) noexcept |
const Mat3x3d & | operator*= (ScalarType k) noexcept |
void | identity () |
![]() | |
const ScalarType * | get () const |
ScalarType * | get () |
const Vec3d & | operator[] (unsigned int i) const |
Const index operator. Returns i'th row of matrix. | |
Vec3d & | operator[] (unsigned int i) |
Non-const index operator. Returns i'th row of matrix. | |
bool | operator== (const Mat3x3d &v) const |
Equality operator. | |
bool | operator!= (const Mat3x3d &v) const |
Inequality operator. | |
const Mat3x3d | operator* (ScalarType k) const |
Multiply scalar onto matrix. All entries are multiplied by scalar. | |
const Mat3x3d | operator/ (ScalarType k) const |
Divide all entries in matrix by scalar. | |
const Mat3x3d & | operator*= (ScalarType k) |
Assignment multiplication of matrix by scalar. | |
const Mat3x3d & | operator/= (ScalarType k) |
Assignment division of matrix by scalar. | |
const Mat3x3d | operator+ (const Mat3x3d &m1) const |
Add two matrices. | |
const Mat3x3d | operator- (const Mat3x3d &m1) const |
Subtract two matrices. | |
const Mat3x3d | operator- () const |
Negate matrix. | |
const Mat3x3d & | operator+= (const Mat3x3d &v) |
Assigment addition of matrices. | |
const Mat3x3d & | operator-= (const Mat3x3d &v) |
Assigment subtraction of matrices. | |
Additional Inherited Members | |
![]() | |
typedef Vec3d | VectorType |
Vector type. | |
typedef Vec3d::ScalarType | ScalarType |
The type of a matrix element. | |
![]() | |
typedef Vec3d | VectorType |
Vector type. | |
typedef Vec3d::ScalarType | ScalarType |
The type of a matrix element. | |
![]() | |
typedef Vec3d | HVectorType |
Horizontal vector type. | |
typedef Vec3d | VVectorType |
Vertical vector type. | |
typedef Vec3d::ScalarType | ScalarType |
The type of a matrix element. | |
![]() | |
static unsigned int | get_v_dim () |
Get vertical dimension of matrix. | |
static unsigned int | get_h_dim () |
Get horizontal dimension of matrix. | |
![]() | |
ArithSqMatFloat () noexcept | |
Construct 0 matrix. | |
ArithSqMatFloat (ScalarType _a) noexcept | |
Construct matrix where all values are equal to constructor argument. | |
ArithSqMatFloat (Vec3d_a, Vec3d_b) noexcept | |
Construct 2x2 Matrix from two vectors. | |
ArithSqMatFloat (Vec3d_a, Vec3d_b, Vec3d_c) noexcept | |
Construct 3x3 Matrix from three vectors. | |
ArithSqMatFloat (Vec3d_a, Vec3d_b, Vec3d_c, Vec3d_d) noexcept | |
Construct 4x4 Matrix from four vectors. | |
![]() | |
ArithMatFloat () | |
Construct 0 matrix. | |
ArithMatFloat (ScalarType x) | |
Construct a matrix where all entries are the same. | |
ArithMatFloat (Vec3d_a) | |
Construct a matrix where all rows are the same. | |
ArithMatFloat (Vec3d_a, Vec3d_b) | |
Construct a matrix with two rows. | |
ArithMatFloat (Vec3d_a, Vec3d_b, Vec3d_c) | |
Construct a matrix with three rows. | |
ArithMatFloat (Vec3d_a, Vec3d_b, Vec3d_c, Vec3d_d) | |
Construct a matrix with four rows. | |
![]() | |
Vec3d | data [ROWS] |
The actual contents of the matrix. | |
3 by 3 double matrix.
This class will typically be used for rotation or scaling matrices for 3D vectors.