Dry
|
3x3 matrix for rotation and scaling. More...
#include <Dry/Math/Matrix3.h>
Public Member Functions | |
Matrix3 () noexcept | |
Construct an identity matrix. | |
Matrix3 (const Matrix3 &matrix) noexcept=default | |
Copy-construct from another matrix. | |
Matrix3 (float v00, float v01, float v02, float v10, float v11, float v12, float v20, float v21, float v22) noexcept | |
Construct from values. | |
Matrix3 (const float *data) noexcept | |
Construct from a float array. | |
Matrix3 & | operator= (const Matrix3 &rhs) noexcept=default |
Assign from another matrix. | |
bool | operator== (const Matrix3 &rhs) const |
Test for equality with another matrix without epsilon. | |
bool | operator!= (const Matrix3 &rhs) const |
Test for inequality with another matrix without epsilon. | |
Vector3 | operator* (const Vector3 &rhs) const |
Multiply a Vector3. | |
Matrix3 | operator+ (const Matrix3 &rhs) const |
Add a matrix. | |
Matrix3 | operator- (const Matrix3 &rhs) const |
Subtract a matrix. | |
Matrix3 | operator* (float rhs) const |
Multiply with a scalar. | |
Matrix3 | operator* (const Matrix3 &rhs) const |
Multiply a matrix. | |
void | SetScale (const Vector3 &scale) |
Set scaling elements. | |
void | SetScale (float scale) |
Set uniform scaling elements. | |
Vector3 | Scale () const |
Return the scaling part. | |
Vector3 | SignedScale (const Matrix3 &rotation) const |
Return the scaling part with the sign. Reference rotation matrix is required to avoid ambiguity. | |
Matrix3 | Transpose () const |
Return transposed. | |
Matrix3 | Scaled (const Vector3 &scale) const |
Return scaled by a vector. | |
bool | Equals (const Matrix3 &rhs) const |
Test for equality with another matrix with epsilon. | |
Matrix3 | Inverse () const |
Return inverse. | |
const float * | Data () const |
Return float data. | |
float | Element (unsigned i, unsigned j) const |
Return matrix element. | |
Vector3 | Row (unsigned i) const |
Return matrix row. | |
Vector3 | Column (unsigned j) const |
Return matrix column. | |
bool | IsNaN () const |
Return whether any element is NaN. | |
bool | IsInf () const |
Return whether any element is Inf. | |
String | ToString () const |
Return as string. | |
Static Public Member Functions | |
static void | BulkTranspose (float *dest, const float *src, unsigned count) |
Bulk transpose matrices. | |
Public Attributes | |
float | m00_ |
float | m01_ |
float | m02_ |
float | m10_ |
float | m11_ |
float | m12_ |
float | m20_ |
float | m21_ |
float | m22_ |
Static Public Attributes | |
static const Matrix3 | ZERO |
Zero matrix. | |
static const Matrix3 | IDENTITY |
Identity matrix. | |
3x3 matrix for rotation and scaling.