|
CGVIS Utils
|
#include <Mat3.h>
Public Member Functions | |
| Mat3t () | |
| Construct the identity matrix. | |
| Mat3t (T m11, T m12, T m13, T m21, T m22, T m23, T m31, T m32, T m33) | |
| Construct from 9 elements (column-major order). | |
| Mat3t (const std::array< T, 9 > &e) | |
| Construct from a raw array of 9 elements. | |
| Mat3t (const Vec3t< T > &e1, const Vec3t< T > &e2, const Vec3t< T > &e3) | |
| Construct from three column vectors. | |
| Mat3t (const Mat3t &other) | |
| Copy-construct from another matrix. | |
| const std::string | toString () const |
| String representation (pretty-printed rows). | |
| operator T* (void) | |
| Implicit conversion to raw pointer (non-const). | |
| operator const T * (void) const | |
| Implicit conversion to raw pointer (const). | |
| Mat3t | operator* (T scalar) const |
| Component-wise multiplication by scalar. | |
| Mat3t | operator+ (T scalar) const |
| Component-wise addition of scalar. | |
| Mat3t | operator- (T scalar) const |
| Component-wise subtraction of scalar. | |
| Mat3t | operator/ (T scalar) const |
| Component-wise division by scalar. | |
| Mat3t | operator* (const Mat3t &other) const |
| Matrix–matrix product (column-major; standard linear algebra). | |
| Vec3t< T > | operator* (const Vec3t< T > &other) const |
| Transform a 3D vector. | |
Static Public Member Functions | |
| static Mat3t | scaling (const Vec3t< T > &scale) |
Non-uniform scaling by components of scale. | |
| static Mat3t | scaling (T x, T y, T z) |
| Non-uniform scaling by components. | |
| static Mat3t | rotationX (T degree) |
Rotation about the X-axis by degree (degrees). | |
| static Mat3t | rotationY (T degree) |
Rotation about the Y-axis by degree (degrees). | |
| static Mat3t | rotationZ (T degree) |
Rotation about the Z-axis by degree (degrees). | |
| static Mat3t | transpose (const Mat3t &m) |
| Transpose of a 3×3 matrix. | |
| static T | det (const Mat3t &m) |
| Determinant of a 3×3 matrix. | |
| static Mat3t | inverse (const Mat3t &m, T det) |
| Matrix inverse with precomputed determinant. | |
| static Mat3t | inverse (const Mat3t &m) |
| Matrix inverse computed via adjugate and determinant. | |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const Mat3t &m) |
| Stream insertion using toString(). | |
|
inline |
Construct from 9 elements (column-major order).
| m11..m33 | Elements of the matrix in column-major order. |
Construct from a raw array of 9 elements.
| e | Array in column-major order. |
|
inline |
Construct from three column vectors.
| e1 | First column (x,y,z). |
| e2 | Second column (x,y,z). |
| e3 | Third column (x,y,z). |
Copy-construct from another matrix.
Determinant of a 3×3 matrix.
Matrix inverse computed via adjugate and determinant.
| m | Input matrix. |
m (determinant computed internally). Matrix inverse with precomputed determinant.
| m | Input matrix. |
| det | Determinant of m. |
m. det ≠ 0.
|
inline |
Implicit conversion to raw pointer (const).
e[0].
|
inline |
Implicit conversion to raw pointer (non-const).
e[0]. Matrix–matrix product (column-major; standard linear algebra).
Transform a 3D vector.
Component-wise multiplication by scalar.
Component-wise addition of scalar.
Component-wise subtraction of scalar.
Component-wise division by scalar.
Rotation about the X-axis by degree (degrees).
Rotation about the Y-axis by degree (degrees).
Rotation about the Z-axis by degree (degrees).
Non-uniform scaling by components of scale.
Non-uniform scaling by components.
|
inline |
String representation (pretty-printed rows).
Transpose of a 3×3 matrix.
|
friend |
Stream insertion using toString().