Rebel Fork Framework
Urho3D::Matrix3x4 Class Reference

3x4 matrix for scene node transform calculations. More...

#include <Urho3D/Math/Matrix3x4.h>

Public Member Functions

 Matrix3x4 () noexcept
 Construct an identity matrix.
 
 Matrix3x4 (const Matrix3x4 &matrix) noexcept=default
 Copy-construct from another matrix.
 
 Matrix3x4 (const Matrix3 &matrix) noexcept
 Copy-construct from a 3x3 matrix and set the extra elements to identity.
 
 Matrix3x4 (const Matrix4 &matrix) noexcept
 Copy-construct from a 4x4 matrix which is assumed to contain no projection.
 
 Matrix3x4 (float v00, float v01, float v02, float v03, float v10, float v11, float v12, float v13, float v20, float v21, float v22, float v23) noexcept
 Construct from values.
 
 Matrix3x4 (const float data[]) noexcept
 Construct from a float array.
 
 Matrix3x4 (const Vector3 &translation, const Quaternion &rotation, float scale) noexcept
 Construct from translation, rotation and uniform scale.
 
 Matrix3x4 (const Vector3 &translation, const Quaternion &rotation, const Vector3 &scale) noexcept
 Construct from translation, rotation and nonuniform scale.
 
Matrix3x4operator= (const Matrix3x4 &rhs) noexcept=default
 Assign from another matrix.
 
Matrix3x4operator= (const Matrix3 &rhs) noexcept
 Assign from a 3x3 matrix and set the extra elements to identity.
 
Matrix3x4operator= (const Matrix4 &rhs) noexcept
 Assign from a 4x4 matrix which is assumed to contain no projection.
 
bool operator== (const Matrix3x4 &rhs) const
 Test for equality with another matrix without epsilon.
 
bool operator!= (const Matrix3x4 &rhs) const
 Test for inequality with another matrix without epsilon.
 
Vector3 operator* (const Vector3 &rhs) const
 Multiply a Vector3 which is assumed to represent position.
 
Vector3 operator* (const Vector4 &rhs) const
 Multiply a Vector4.
 
Matrix3x4 operator+ (const Matrix3x4 &rhs) const
 Add a matrix.
 
Matrix3x4 operator- (const Matrix3x4 &rhs) const
 Subtract a matrix.
 
Matrix3x4 operator* (float rhs) const
 Multiply with a scalar.
 
Matrix3x4 operator* (const Matrix3x4 &rhs) const
 Multiply a matrix.
 
Matrix4 operator* (const Matrix4 &rhs) const
 Multiply a 4x4 matrix.
 
void SetTranslation (const Vector3 &translation)
 Set translation elements.
 
void SetRotation (const Matrix3 &rotation)
 Set rotation elements from a 3x3 matrix.
 
void SetScale (const Vector3 &scale)
 Set scaling elements.
 
void SetScale (float scale)
 Set uniform scaling elements.
 
Matrix3 ToMatrix3 () const
 Return the combined rotation and scaling matrix.
 
Matrix4 ToMatrix4 () const
 Convert to a 4x4 matrix by filling in an identity last row.
 
Matrix3 RotationMatrix () const
 Return the rotation matrix with scaling removed.
 
Vector3 Translation () const
 Return the translation part.
 
Quaternion Rotation () const
 Return the rotation part.
 
Vector3 Scale () const
 Return the scaling part.
 
Vector3 SignedScale (const Matrix3 &rotation) const
 Return the scaling part with the sign. Reference rotation matrix is required to avoid ambiguity.
 
bool Equals (const Matrix3x4 &rhs, float eps=M_EPSILON) const
 Test for equality with another matrix with epsilon.
 
void Decompose (Vector3 &translation, Quaternion &rotation, Vector3 &scale) const
 Return decomposition to translation, rotation and scale.
 
float Determinant () const
 Return determinant.
 
Matrix3x4 Inverse () const
 Return inverse.
 
const float * Data () const
 Return float data.
 
float Element (unsigned i, unsigned j) const
 Return matrix element.
 
Vector4 Row (unsigned i) const
 Return matrix row.
 
Vector3 Column (unsigned j) const
 Return matrix column.
 
bool IsNaN () const
 Return whether any element is NaN.
 
bool IsInf () const
 Return whether any element is Inf.
 
ea::string ToString () const
 Return as string.
 
unsigned ToHash () const
 Return hash value for HashSet & HashMap.
 

Static Public Member Functions

static Matrix3x4 FromTranslation (const Vector3 &translation)
 Construct from translation vector.
 
static Matrix3x4 FromRotation (const Quaternion &rotation)
 Construct from rotation as quaternion.
 
static Matrix3x4 FromScale (float scale)
 Constuct from scalar scale.
 
static Matrix3x4 FromScale (const Vector3 &scale)
 Constuct from vector scale.
 

Public Attributes

float m00_
 
float m01_
 
float m02_
 
float m03_
 
float m10_
 
float m11_
 
float m12_
 
float m13_
 
float m20_
 
float m21_
 
float m22_
 
float m23_
 

Static Public Attributes

static const Matrix3x4 ZERO
 Zero matrix.
 
static const Matrix3x4 IDENTITY
 Identity matrix.
 

Detailed Description

3x4 matrix for scene node transform calculations.


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