Public Member Functions | |
| aiMatrix3x3 (const aiMatrix4x4 &pMatrix) | |
| Construction from a 4x4 matrix. | |
| aiMatrix3x3 (float _a1, float _a2, float _a3, float _b1, float _b2, float _b3, float _c1, float _c2, float _c3) | |
| aiMatrix3x3 () | |
| 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 |
| const float * | operator[] (unsigned int p_iIndex) const |
| float * | operator[] (unsigned int p_iIndex) |
| 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 |
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".
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] |
| const float * aiMatrix3x3::operator[] | ( | unsigned int | p_iIndex | ) | const [inline] |
| float * aiMatrix3x3::operator[] | ( | unsigned int | p_iIndex | ) | [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 |
1.5.8