OGRE 14.3
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
Ogre::Matrix4 Class Reference

Transform specialization for projective - encapsulating a 4x4 Matrix. More...

#include <OgreMatrix4.h>

+ Inheritance diagram for Ogre::Matrix4:

Public Member Functions

 Matrix4 ()
 Do NOT initialize the matrix for efficiency.
 
 Matrix4 (const Matrix3 &m3x3)
 Creates a standard 4x4 transformation matrix with a zero translation part from a rotation/scaling 3x3 matrix.
 
 Matrix4 (const Quaternion &rot)
 Creates a standard 4x4 transformation matrix with a zero translation part from a rotation/scaling Quaternion.
 
 Matrix4 (const Real *arr)
 
template<typename U>
 Matrix4 (const U *ptr)
 
 Matrix4 (Real m00, Real m01, Real m02, Real m03, Real m10, Real m11, Real m12, Real m13, Real m20, Real m21, Real m22, Real m23, Real m30, Real m31, Real m32, Real m33)
 
Matrix4 adjoint () const
 
Matrix4 concatenate (const Matrix4 &m2) const
 
Matrix4 inverse () const
 
bool operator!= (const Matrix4 &m2) const
 Tests 2 matrices for inequality.
 
Matrix4 operator* (Real scalar) const
 
Matrix4operator= (const Matrix3 &mat3)
 
bool operator== (const Matrix4 &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, RealgetTrans () const
 Extracts the translation transformation part of the matrix.
 
Realoperator[] (size_t iRow)
 
const Realoperator[] (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 Attributes

static const Matrix4 CLIPSPACE2DTOIMAGESPACE
 Useful little matrix which takes 2D clipspace {-1, 1} to {0,1} and inverts the Y.
 
static const Matrix4 IDENTITY
 
static const Matrix4 ZERO
 

Detailed Description

Transform specialization for projective - encapsulating a 4x4 Matrix.

Constructor & Destructor Documentation

◆ Matrix4() [1/6]

Ogre::Matrix4::Matrix4 ( )
inline

Do NOT initialize the matrix for efficiency.

Referenced by adjoint(), concatenate(), inverse(), operator!=(), operator*(), operator=(), and operator==().

◆ Matrix4() [2/6]

Ogre::Matrix4::Matrix4 ( Real m00,
Real m01,
Real m02,
Real m03,
Real m10,
Real m11,
Real m12,
Real m13,
Real m20,
Real m21,
Real m22,
Real m23,
Real m30,
Real m31,
Real m32,
Real m33 )
inline

◆ Matrix4() [3/6]

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

◆ Matrix4() [4/6]

Ogre::Matrix4::Matrix4 ( const Real * arr)
inlineexplicit

◆ Matrix4() [5/6]

Ogre::Matrix4::Matrix4 ( const Matrix3 & m3x3)
inlineexplicit

Creates a standard 4x4 transformation matrix with a zero translation part from a rotation/scaling 3x3 matrix.

References IDENTITY, and operator=().

◆ Matrix4() [6/6]

Ogre::Matrix4::Matrix4 ( const Quaternion & rot)
inlineexplicit

Creates a standard 4x4 transformation matrix with a zero translation part from a rotation/scaling Quaternion.

References IDENTITY, and Ogre::Quaternion::ToRotationMatrix().

Member Function Documentation

◆ operator=()

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

◆ concatenate()

Matrix4 Ogre::Matrix4::concatenate ( const Matrix4 & m2) const
inline

References Matrix4().

◆ operator==()

bool Ogre::Matrix4::operator== ( const Matrix4 & m2) const
inline

Tests 2 matrices for equality.

References Matrix4().

◆ operator!=()

bool Ogre::Matrix4::operator!= ( const Matrix4 & m2) const
inline

Tests 2 matrices for inequality.

References Matrix4().

◆ operator*()

Matrix4 Ogre::Matrix4::operator* ( Real scalar) const
inline

References Matrix4().

◆ adjoint()

Matrix4 Ogre::Matrix4::adjoint ( ) const

References Matrix4().

◆ inverse()

Matrix4 Ogre::Matrix4::inverse ( ) const

References Matrix4().

Referenced by Ogre::operator*().

Member Data Documentation

◆ ZERO

const Matrix4 Ogre::Matrix4::ZERO
static

◆ IDENTITY

◆ CLIPSPACE2DTOIMAGESPACE

const Matrix4 Ogre::Matrix4::CLIPSPACE2DTOIMAGESPACE
static

Useful little matrix which takes 2D clipspace {-1, 1} to {0,1} and inverts the Y.


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