Loading...
Searching...
No Matches
Ogre::Affine3 Class Reference
Core » Math

Transform specialization for 3D Affine - encapsulating a 3x4 Matrix. More...

`#include <OgreMatrix4.h>`

Inheritance diagram for Ogre::Affine3:
[legend]

## 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.
Vector< 3, Real > | getTrans () const
| Extracts the translation transformation part of the matrix.
Real * | operator[] (size_t iRow)
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

## Detailed Description

Transform specialization for 3D Affine - encapsulating a 3x4 Matrix.

## Constructor & Destructor Documentation

## Affine3() [1/6]

Ogre::Affine3::Affine3 | ( |  | ) |

inline

Do NOT initialize the matrix for efficiency.

Referenced by getScale(), getScale(), getTrans(), getTrans(), inverse(), operator!=(), operator=(), and operator==().

## Affine3() [2/6]

Ogre::Affine3::Affine3 | ( | const Vector3 & | position,
|  | const Quaternion & | orientation,
|  | const Vector3 & | scale = Vector3::UNIT_SCALE )

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.

References Ogre::TransformBaseReal::makeTransform().

## Affine3() [3/6]

template<typename U>

Ogre::Affine3::Affine3 | ( | const U * | ptr | ) |

inline explicit

## Affine3() [4/6]

Ogre::Affine3::Affine3 | ( | const Real * | arr | ) |

inline explicit

## Affine3() [5/6]

Ogre::Affine3::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 )

inline

## Affine3() [6/6]

Ogre::Affine3::Affine3 | ( | const Matrix4 & | mat | ) |

inline explicit

extract the Affine part of a Matrix4

## Member Function Documentation

## operator=()

Affine3 & Ogre::Affine3::operator= | ( | const Matrix3 & | mat3 | ) |

inline

References Affine3(), and Ogre::TransformBaseReal::set3x3Matrix().

## operator==()

bool Ogre::Affine3::operator== | ( | const Affine3 & | m2 | ) | const

inline

Tests 2 matrices for equality.

References Affine3().

## operator!=()

bool Ogre::Affine3::operator!= | ( | const Affine3 & | m2 | ) | const

inline

References Affine3().

## inverse()

Affine3 Ogre::Affine3::inverse | ( |  | ) | const

References Affine3().

## decomposition()

void Ogre::Affine3::decomposition | ( | Vector3 & | position,
|  | Vector3 & | scale,
|  | Quaternion & | orientation ) const

Decompose to orientation / scale / position.

## operator const Matrix4 &()

Ogre::Affine3::operator const Matrix4 & | ( |  | ) | const

inline

every Affine3 transform is also a const Matrix4

## getTrans() [1/2]

Affine3 Ogre::Affine3::getTrans | ( | const Vector3 & | v | ) |

inline static

Gets a translation matrix.

References Affine3(), and getTrans().

Referenced by getTrans().

## getTrans() [2/2]

Affine3 Ogre::Affine3::getTrans | ( | Real | t_x,
|  | Real | t_y,
|  | Real | t_z )

inline static

Gets a translation matrix - variation for not using a vector.

References Affine3().

## getScale() [1/2]

Affine3 Ogre::Affine3::getScale | ( | const Vector3 & | v | ) |

inline static

Gets a scale matrix.

References Affine3(), and getScale().

Referenced by getScale().

## getScale() [2/2]

Affine3 Ogre::Affine3::getScale | ( | Real | s_x,
|  | Real | s_y,
|  | Real | s_z )

inline static

Gets a scale matrix - variation for not using a vector.

References Affine3().

## Member Data Documentation

## ZERO

const Affine3 Ogre::Affine3::ZERO

static

## IDENTITY

const Affine3 Ogre::Affine3::IDENTITY

static

Referenced by Ogre::InstancedEntity::_getParentNodeFullTransform(), Ogre::DebugDrawer::drawBone(), Ogre::DefaultDebugDrawer::drawBone(), and Ogre::Frustum::setCustomViewMatrix().

The documentation for this class was generated from the following file:

- OgreMatrix4.h