![]()  | 
  
    OGRE 14.4
    
   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.