OGRE 14.3
Object-Oriented Graphics Rendering Engine
|
Class encapsulating a standard 4x4 homogeneous matrix. More...
#include <OgreMatrix4.h>
Public Member Functions | |
TransformBase () | |
Do NOT initialize for efficiency. | |
template<typename U > | |
TransformBase (const TransformBase< rows, U > &o) | |
template<typename U > | |
TransformBase (const U *ptr) | |
Vector< 3, T > | getTrans () const |
Extracts the translation transformation part of the matrix. | |
T * | operator[] (size_t iRow) |
const T * | operator[] (size_t iRow) const |
void | setScale (const Vector< 3, T > &v) |
Sets the scale part of the matrix. | |
void | setTrans (const Vector< 3, T > &v) |
Sets the translation transformation part of the matrix. | |
Class encapsulating a standard 4x4 homogeneous matrix.
OGRE uses column vectors when applying matrix multiplications, This means a vector is represented as a single column, 4-row matrix. This has the effect that the transformations implemented by the matrices happens right-to-left e.g. if vector V is to be transformed by M1 then M2 then M3, the calculation would be M3 * M2 * M1 * V. The order that matrices are concatenated is vital since matrix multiplication is not commutative, i.e. you can get a different result if you concatenate in the wrong order.
[ m[0][0] m[0][1] m[0][2] m[0][3] ] {x} | m[1][0] m[1][1] m[1][2] m[1][3] | * {y} | m[2][0] m[2][1] m[2][2] m[2][3] | {z} [ m[3][0] m[3][1] m[3][2] m[3][3] ] {1}
Do NOT initialize for efficiency.
|
inlineexplicit |
|
inlineexplicit |
|
inline |
Sets the translation transformation part of the matrix.
|
inline |
Extracts the translation transformation part of the matrix.
Sets the scale part of the matrix.