Assimp
v3.0 (July 2012)
|
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 |
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.
|
inline |
|
inline |
|
inlineexplicit |
Construction from a 4x4 matrix.
The remaining parts of the matrix are ignored.
|
inline |
|
inlinestatic |
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
|
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 |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
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 |
|
inlinestatic |
Returns a rotation matrix for a rotation around z.
a | Rotation angle, in radians |
out | Receives the output matrix |
|
inlinestatic |
Returns a translation matrix.
v | Translation vector |
out | Receives the output matrix |
|
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 |