OGRE  master
Object-Oriented Graphics Rendering Engine
Ogre::Affine3 Class Reference

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

#include <OgreMatrix4.h>

+ Inheritance diagram for Ogre::Affine3:

Public Member Functions

 Affine3 ()
 Do NOT initialize the matrix for efficiency. More...
 
 Affine3 (const Vector3 &position, const Quaternion &orientation, const Vector3 &scale=Vector3::UNIT_SCALE)
 Building a Affine3 from orientation / scale / position. More...
 
template<typename U >
 Affine3 (const U *ptr)
 
 Affine3 (const Real *arr)
 
 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)
 
 Affine3 (const Matrix4 &mat)
 extract the Affine part of a Matrix4 More...
 
void decomposition (Vector3 &position, Vector3 &scale, Quaternion &orientation) const
 Decompose to orientation / scale / position. More...
 
Affine3 inverse () const
 
 operator const Matrix4 & () const
 every Affine3 transform is also a const Matrix4 More...
 
bool operator!= (const Affine3 &m2) const
 
Affine3operator= (const Matrix3 &mat3)
 
bool operator== (const Affine3 &m2) const
 Tests 2 matrices for equality. More...
 
- Public Member Functions inherited from Ogre::TransformBaseReal
 TransformBaseReal ()
 Do NOT initialize for efficiency. More...
 
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. More...
 
void makeInverseTransform (const Vector3 &position, const Vector3 &scale, const Quaternion &orientation)
 Building an inverse Affine3 from orientation / scale / position. More...
 
void makeTrans (const Vector3 &v)
 Builds a translation matrix. More...
 
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. More...
 
void set3x3Matrix (const Matrix3 &mat3)
 Assignment from 3x3 matrix. More...
 
Matrix4 transpose () const
 
- Public Member Functions inherited from Ogre::TransformBase< 4, Real >
 TransformBase ()
 Do NOT initialize for efficiency. More...
 
 TransformBase (const U *ptr)
 
 TransformBase (const TransformBase< rows, U > &o)
 
Vector< 3, RealgetTrans () const
 Extracts the translation transformation part of the matrix. More...
 
Realoperator[] (size_t iRow)
 
const Realoperator[] (size_t iRow) const
 
void setScale (const Vector< 3, Real > &v)
 Sets the scale part of the matrix. More...
 
void setTrans (const Vector< 3, Real > &v)
 Sets the translation transformation part of the matrix. More...
 

Static Public Member Functions

static Affine3 getScale (const Vector3 &v)
 Gets a scale matrix. More...
 
static Affine3 getScale (Real s_x, Real s_y, Real s_z)
 Gets a scale matrix - variation for not using a vector. More...
 
static Affine3 getTrans (const Vector3 &v)
 Gets a translation matrix. More...
 
static Affine3 getTrans (Real t_x, Real t_y, Real t_z)
 Gets a translation matrix - variation for not using a vector. More...
 

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.

◆ 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.

◆ Affine3() [3/6]

template<typename U >
Ogre::Affine3::Affine3 ( const U *  ptr)
inlineexplicit

◆ Affine3() [4/6]

Ogre::Affine3::Affine3 ( const Real arr)
inlineexplicit

◆ 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)
inlineexplicit

extract the Affine part of a Matrix4

Member Function Documentation

◆ operator=()

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

◆ operator==()

bool Ogre::Affine3::operator== ( const Affine3 m2) const
inline

Tests 2 matrices for equality.

◆ operator!=()

bool Ogre::Affine3::operator!= ( const Affine3 m2) const
inline

◆ inverse()

Affine3 Ogre::Affine3::inverse ( ) const

◆ 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

References Ogre::TransformBase< 4, Real >::getTrans().

◆ getTrans() [1/2]

static Affine3 Ogre::Affine3::getTrans ( const Vector3 v)
inlinestatic

Gets a translation matrix.

References Ogre::TransformBase< rows, T >::getTrans().

◆ getTrans() [2/2]

static Affine3 Ogre::Affine3::getTrans ( Real  t_x,
Real  t_y,
Real  t_z 
)
inlinestatic

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

◆ getScale() [1/2]

static Affine3 Ogre::Affine3::getScale ( const Vector3 v)
inlinestatic

Gets a scale matrix.

◆ getScale() [2/2]

static Affine3 Ogre::Affine3::getScale ( Real  s_x,
Real  s_y,
Real  s_z 
)
inlinestatic

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

Member Data Documentation

◆ ZERO

const Affine3 Ogre::Affine3::ZERO
static

◆ IDENTITY


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