#include <Mat33f.h>
Inheritance diagram for nvmath::Mat33f:
Public Member Functions | |
NVSG_API | Mat33f (void) |
Default constructor. | |
NVSG_API | Mat33f (float a00, float a01, float a02, float a10, float a11, float a12, float a20, float a21, float a22) |
Constructor using 9 floats. | |
NVSG_API | Mat33f (const Vec3f &row0, const Vec3f &row1, const Vec3f &row2) |
Constructor using three row vectors. | |
NVSG_API | Mat33f (const Vec3f &axis, float rad) |
Constructor using a normalized rotation axis and angle (in radians). | |
NVSG_API | Mat33f (const Quatf &quat) |
Constructor using a normalized quaternion. | |
NVSG_API | Mat33f (const Matnnf< 3 > &m) |
Copy constructor. | |
NVSG_API void | set (const Vec3f &row0, const Vec3f &row1, const Vec3f &row2) |
Set the matrix with three row vectors. | |
Related Functions | |
(Note that these are not member functions.) | |
NVSG_API void | decompose (const Mat33f &mat, Vec3f &scaling, Vec3f &shearing, Quatf &orientation) |
float | determinant (const Mat33f &mat) |
bool | isRotation (const Mat33f &mat) |
This class is used to handle pure rotational and scaling transformations (no translations).
|
Default constructor. For performance reasons no initialization is performed. |
|
Constructor using 9 floats. The 9 floats are used as the matrix elements. No normalization is performed. |
|
Constructor using three row vectors. The three vectors are used as the three rows of the matrix. No normalization is performed.
|
|
Constructor using a normalized rotation axis and angle (in radians). This results in a pure rotation matrix.
|
|
Constructor using a normalized quaternion. This results in a pure rotation matrix.
|
|
Copy constructor.
|
|
Set the matrix with three row vectors.
|
|
Decompose the matrix mat into scaling, shearing, and orientation
|
|
Determine the determinant of a matrix.
|
|
Test if a matrix is a rotation. A matrix is a rotation if it is normalized, orthogonal, and the determinant equals (within some tolerance) 1.0.
|