OGRE 14.3
Object-Oriented Graphics Rendering Engine
|
Transform specialization for 3D Affine - encapsulating a 3x4 Matrix. More...
#include <OgreMatrix4.h>
Public Member Functions | |
Affine3 () | |
Do NOT initialize the matrix for efficiency. | |
Affine3 (const Matrix4 &mat) | |
extract the Affine part of a Matrix4 | |
Affine3 (const Real *arr) | |
template<typename U > | |
Affine3 (const U *ptr) | |
Affine3 (const Vector3 &position, const Quaternion &orientation, const Vector3 &scale=Vector3::UNIT_SCALE) | |
Building a Affine3 from orientation / scale / position. | |
Affine3 (Real m00, Real m01, Real m02, Real m03, Real m10, Real m11, Real m12, Real m13, Real m20, Real m21, Real m22, Real m23) | |
void | decomposition (Vector3 &position, Vector3 &scale, Quaternion &orientation) const |
Decompose to orientation / scale / position. | |
Affine3 | inverse () const |
operator const Matrix4 & () const | |
every Affine3 transform is also a const Matrix4 | |
bool | operator!= (const Affine3 &m2) const |
Affine3 & | operator= (const Matrix3 &mat3) |
bool | operator== (const Affine3 &m2) const |
Tests 2 matrices for equality. | |
Public Member Functions inherited from Ogre::TransformBaseReal | |
TransformBaseReal () | |
Do NOT initialize for efficiency. | |
template<typename U > | |
TransformBaseReal (const U *ptr) | |
Real | determinant () const |
void | extract3x3Matrix (Matrix3 &m3x3) const |
Quaternion | extractQuaternion () const |
Matrix3 | linear () const |
Extracts the rotation / scaling part of the Matrix as a 3x3 matrix. | |
void | makeInverseTransform (const Vector3 &position, const Vector3 &scale, const Quaternion &orientation) |
Building an inverse Affine3 from orientation / scale / position. | |
void | makeTrans (const Vector3 &v) |
Builds a translation matrix. | |
void | makeTrans (Real tx, Real ty, Real tz) |
void | makeTransform (const Vector3 &position, const Vector3 &scale, const Quaternion &orientation) |
Building a Affine3 from orientation / scale / position. | |
void | set3x3Matrix (const Matrix3 &mat3) |
Assignment from 3x3 matrix. | |
Matrix4 | transpose () const |
Public Member Functions inherited from Ogre::TransformBase< 4, Real > | |
TransformBase () | |
Do NOT initialize for efficiency. | |
TransformBase (const TransformBase< rows, U > &o) | |
TransformBase (const U *ptr) | |
Vector< 3, Real > | getTrans () const |
Extracts the translation transformation part of the matrix. | |
Real * | operator[] (size_t iRow) |
const Real * | operator[] (size_t iRow) const |
void | setScale (const Vector< 3, Real > &v) |
Sets the scale part of the matrix. | |
void | setTrans (const Vector< 3, Real > &v) |
Sets the translation transformation part of the matrix. | |
Static Public Member Functions | |
static Affine3 | getScale (const Vector3 &v) |
Gets a scale matrix. | |
static Affine3 | getScale (Real s_x, Real s_y, Real s_z) |
Gets a scale matrix - variation for not using a vector. | |
static Affine3 | getTrans (const Vector3 &v) |
Gets a translation matrix. | |
static Affine3 | getTrans (Real t_x, Real t_y, Real t_z) |
Gets a translation matrix - variation for not using a vector. | |
Static Public Attributes | |
static const Affine3 | IDENTITY |
static const Affine3 | ZERO |
Transform specialization for 3D Affine - encapsulating a 3x4 Matrix.
|
inline |
Do NOT initialize the matrix for efficiency.
|
inline |
Building a Affine3 from orientation / scale / position.
Transform is performed in the order scale, rotate, translation, i.e. translation is independent of orientation axes, scale does not affect size of translation, rotation and scaling are always centered on the origin.
|
inline |
Affine3 Ogre::Affine3::inverse | ( | ) | const |
void Ogre::Affine3::decomposition | ( | Vector3 & | position, |
Vector3 & | scale, | ||
Quaternion & | orientation | ||
) | const |
Decompose to orientation / scale / position.
Gets a translation matrix - variation for not using a vector.
Gets a scale matrix - variation for not using a vector.
Referenced by Ogre::InstancedEntity::_getParentNodeFullTransform().