|
Assimp
v3.1.1 (June 2014)
|
Represents a row-major 3x3 matrix. More...
Public Member Functions | |
| aiMatrix3x3t () | |
| aiMatrix3x3t (TReal _a1, TReal _a2, TReal _a3, TReal _b1, TReal _b2, TReal _b3, TReal _c1, TReal _c2, TReal _c3) | |
| aiMatrix3x3t (const aiMatrix4x4t< TReal > &pMatrix) | |
| Construction from a 4x4 matrix. | |
| TReal | Determinant () const |
| bool | Equal (const aiMatrix4x4t< TReal > &m, TReal epsilon=1e-6) const |
| aiMatrix3x3t & | Inverse () |
| Invert the matrix. | |
| template<typename TOther > | |
| operator aiMatrix3x3t< TOther > () const | |
| bool | operator!= (const aiMatrix4x4t< TReal > &m) const |
| aiMatrix3x3t | operator* (const aiMatrix3x3t &m) const |
| aiMatrix3x3t & | operator*= (const aiMatrix3x3t &m) |
| bool | operator== (const aiMatrix4x4t< TReal > &m) const |
| TReal * | operator[] (unsigned int p_iIndex) |
| const TReal * | operator[] (unsigned int p_iIndex) const |
| aiMatrix3x3t & | Transpose () |
| Transpose the matrix. | |
Static Public Member Functions | |
| static aiMatrix3x3t & | FromToMatrix (const aiVector3t< TReal > &from, const aiVector3t< TReal > &to, aiMatrix3x3t &out) |
| A function for creating a rotation matrix that rotates a vector called "from" into another vector called "to". | |
| static aiMatrix3x3t & | Rotation (TReal a, const aiVector3t< TReal > &axis, aiMatrix3x3t &out) |
| Returns a rotation matrix for a rotation around an arbitrary axis. | |
| static aiMatrix3x3t & | RotationZ (TReal a, aiMatrix3x3t &out) |
| Returns a rotation matrix for a rotation around z. | |
| static aiMatrix3x3t & | Translation (const aiVector2t< TReal > &v, aiMatrix3x3t &out) |
| Returns a translation matrix. | |
Public Attributes | |
| TReal | a1 |
| TReal | a2 |
| TReal | a3 |
| TReal | b1 |
| TReal | b2 |
| TReal | b3 |
| TReal | c1 |
| TReal | c2 |
| TReal | c3 |
Represents a row-major 3x3 matrix.
There's much confusion about matrix layouts (column vs. row order). This is *always* a row-major matrix. Not even with the aiProcess_ConvertToLeftHanded flag, which absolutely does not affect matrix order - it just affects the handedness of the coordinate system defined thereby.
| aiMatrix3x3t< TReal >::aiMatrix3x3t | ( | ) | [inline] |
| aiMatrix3x3t< TReal >::aiMatrix3x3t | ( | TReal | _a1, |
| TReal | _a2, | ||
| TReal | _a3, | ||
| TReal | _b1, | ||
| TReal | _b2, | ||
| TReal | _b3, | ||
| TReal | _c1, | ||
| TReal | _c2, | ||
| TReal | _c3 | ||
| ) | [inline] |
| aiMatrix3x3t< TReal >::aiMatrix3x3t | ( | const aiMatrix4x4t< TReal > & | pMatrix | ) | [inline, explicit] |
Construction from a 4x4 matrix.
The remaining parts of the matrix are ignored.
| TReal aiMatrix3x3t< TReal >::Determinant | ( | ) | const [inline] |
| bool aiMatrix3x3t< TReal >::Equal | ( | const aiMatrix4x4t< TReal > & | m, |
| TReal | epsilon = 1e-6 |
||
| ) | const [inline] |
| aiMatrix3x3t< TReal > & aiMatrix3x3t< TReal >::FromToMatrix | ( | const aiVector3t< TReal > & | from, |
| const aiVector3t< TReal > & | to, | ||
| aiMatrix3x3t< TReal > & | out | ||
| ) | [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
| aiMatrix3x3t< TReal > & aiMatrix3x3t< TReal >::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 TReal f is qnan.
| aiMatrix3x3t< TReal >::operator aiMatrix3x3t< TOther > | ( | ) | const |
| bool aiMatrix3x3t< TReal >::operator!= | ( | const aiMatrix4x4t< TReal > & | m | ) | const [inline] |
| aiMatrix3x3t< TReal > aiMatrix3x3t< TReal >::operator* | ( | const aiMatrix3x3t< TReal > & | m | ) | const [inline] |
| aiMatrix3x3t< TReal > & aiMatrix3x3t< TReal >::operator*= | ( | const aiMatrix3x3t< TReal > & | m | ) | [inline] |
| bool aiMatrix3x3t< TReal >::operator== | ( | const aiMatrix4x4t< TReal > & | m | ) | const [inline] |
| TReal * aiMatrix3x3t< TReal >::operator[] | ( | unsigned int | p_iIndex | ) | [inline] |
| const TReal * aiMatrix3x3t< TReal >::operator[] | ( | unsigned int | p_iIndex | ) | const [inline] |
| aiMatrix3x3t< TReal > & aiMatrix3x3t< TReal >::Rotation | ( | TReal | a, |
| const aiVector3t< TReal > & | axis, | ||
| aiMatrix3x3t< TReal > & | 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 |
| aiMatrix3x3t< TReal > & aiMatrix3x3t< TReal >::RotationZ | ( | TReal | a, |
| aiMatrix3x3t< TReal > & | out | ||
| ) | [inline, static] |
Returns a rotation matrix for a rotation around z.
| a | Rotation angle, in radians |
| out | Receives the output matrix |
| aiMatrix3x3t< TReal > & aiMatrix3x3t< TReal >::Translation | ( | const aiVector2t< TReal > & | v, |
| aiMatrix3x3t< TReal > & | out | ||
| ) | [inline, static] |
Returns a translation matrix.
| v | Translation vector |
| out | Receives the output matrix |
| aiMatrix3x3t< TReal > & aiMatrix3x3t< TReal >::Transpose | ( | ) | [inline] |
Transpose the matrix.
| TReal aiMatrix3x3t< TReal >::a1 |
| TReal aiMatrix3x3t< TReal >::a2 |
| TReal aiMatrix3x3t< TReal >::a3 |
| TReal aiMatrix3x3t< TReal >::b1 |
| TReal aiMatrix3x3t< TReal >::b2 |
| TReal aiMatrix3x3t< TReal >::b3 |
| TReal aiMatrix3x3t< TReal >::c1 |
| TReal aiMatrix3x3t< TReal >::c2 |
| TReal aiMatrix3x3t< TReal >::c3 |