Assimp
v2.0 (November 2010)
|
Represents a row-major 3x3 matrix. More...
Public Member Functions | |
aiMatrix3x3 () | |
aiMatrix3x3 (float _a1, float _a2, float _a3, float _b1, float _b2, float _b3, float _c1, float _c2, float _c3) | |
aiMatrix3x3 (const aiMatrix4x4 &pMatrix) | |
Construction from a 4x4 matrix. | |
float | Determinant () const |
aiMatrix3x3 & | Inverse () |
Invert the matrix. | |
bool | operator!= (const aiMatrix4x4 m) const |
aiMatrix3x3 | operator* (const aiMatrix3x3 &m) const |
aiMatrix3x3 & | operator*= (const aiMatrix3x3 &m) |
bool | operator== (const aiMatrix4x4 m) const |
float * | operator[] (unsigned int p_iIndex) |
const float * | operator[] (unsigned int p_iIndex) const |
aiMatrix3x3 & | Transpose () |
Transpose the matrix. | |
Static Public Member Functions | |
static aiMatrix3x3 & | FromToMatrix (const aiVector3D &from, const aiVector3D &to, aiMatrix3x3 &out) |
A function for creating a rotation matrix that rotates a vector called "from" into another vector called "to". | |
static aiMatrix3x3 & | Rotation (float a, const aiVector3D &axis, aiMatrix3x3 &out) |
Returns a rotation matrix for a rotation around an arbitrary axis. | |
static aiMatrix3x3 & | RotationZ (float a, aiMatrix3x3 &out) |
Returns a rotation matrix for a rotation around z. | |
static aiMatrix3x3 & | Translation (const aiVector2D &v, aiMatrix3x3 &out) |
Returns a translation matrix. | |
Public Attributes | |
float | a1 |
float | a2 |
float | a3 |
float | b1 |
float | b2 |
float | b3 |
float | c1 |
float | c2 |
float | c3 |
Represents a row-major 3x3 matrix.
There's much confusion about matrix layouts (colum vs. row order). This is *always* a row-major matrix. Even with the aiProcess_ConvertToLeftHanded flag.
aiMatrix3x3::aiMatrix3x3 | ( | ) | [inline] |
aiMatrix3x3::aiMatrix3x3 | ( | float | _a1, |
float | _a2, | ||
float | _a3, | ||
float | _b1, | ||
float | _b2, | ||
float | _b3, | ||
float | _c1, | ||
float | _c2, | ||
float | _c3 | ||
) | [inline] |
aiMatrix3x3::aiMatrix3x3 | ( | const aiMatrix4x4 & | pMatrix | ) | [inline, explicit] |
Construction from a 4x4 matrix.
The remaining parts of the matrix are ignored.
float aiMatrix3x3::Determinant | ( | ) | const [inline] |
aiMatrix3x3 & aiMatrix3x3::FromToMatrix | ( | const aiVector3D & | from, |
const aiVector3D & | to, | ||
aiMatrix3x3 & | mtx | ||
) | [inline, static] |
A function for creating a rotation matrix that rotates a vector called "from" into another vector called "to".
Input : from[3], to[3] which both must be *normalized* non-zero vectors Output: mtx[3][3] -- a 3x3 matrix in colum-major form Authors: Tomas Möller, John Hughes "Efficiently Building a Matrix to Rotate One Vector to Another" Journal of Graphics Tools, 4(4):1-4, 1999
aiMatrix3x3 & aiMatrix3x3::Inverse | ( | ) | [inline] |
Invert the matrix.
If the matrix is not invertible all elements are set to qnan. Beware, use (f != f) to check whether a float f is qnan.
bool aiMatrix3x3::operator!= | ( | const aiMatrix4x4 | m | ) | const [inline] |
aiMatrix3x3 aiMatrix3x3::operator* | ( | const aiMatrix3x3 & | m | ) | const [inline] |
aiMatrix3x3 & aiMatrix3x3::operator*= | ( | const aiMatrix3x3 & | m | ) | [inline] |
bool aiMatrix3x3::operator== | ( | const aiMatrix4x4 | m | ) | const [inline] |
float * aiMatrix3x3::operator[] | ( | unsigned int | p_iIndex | ) | [inline] |
const float * aiMatrix3x3::operator[] | ( | unsigned int | p_iIndex | ) | const [inline] |
aiMatrix3x3 & aiMatrix3x3::Rotation | ( | float | a, |
const aiVector3D & | axis, | ||
aiMatrix3x3 & | out | ||
) | [inline, static] |
Returns a rotation matrix for a rotation around an arbitrary axis.
a | Rotation angle, in radians |
axis | Axis to rotate around |
out | To be filled |
aiMatrix3x3 & aiMatrix3x3::RotationZ | ( | float | a, |
aiMatrix3x3 & | out | ||
) | [inline, static] |
Returns a rotation matrix for a rotation around z.
a | Rotation angle, in radians |
out | Receives the output matrix |
aiMatrix3x3 & aiMatrix3x3::Translation | ( | const aiVector2D & | v, |
aiMatrix3x3 & | out | ||
) | [inline, static] |
Returns a translation matrix.
v | Translation vector |
out | Receives the output matrix |
aiMatrix3x3 & aiMatrix3x3::Transpose | ( | ) | [inline] |
Transpose the matrix.
float aiMatrix3x3::a1 |
float aiMatrix3x3::a2 |
float aiMatrix3x3::a3 |
float aiMatrix3x3::b1 |
float aiMatrix3x3::b2 |
float aiMatrix3x3::b3 |
float aiMatrix3x3::c1 |
float aiMatrix3x3::c2 |
float aiMatrix3x3::c3 |