Rebel Fork Framework
Urho3D::Matrix3 Class Reference

3x3 matrix for rotation and scaling. More...

#include <Urho3D/Math/Matrix3.h>

Public Member Functions

 Matrix3 () noexcept
 Construct an identity matrix.
 
 Matrix3 (const Matrix3 &matrix) noexcept=default
 Copy-construct from another matrix.
 
 Matrix3 (float v00, float v01, float v02, float v10, float v11, float v12, float v20, float v21, float v22) noexcept
 Construct from values.
 
 Matrix3 (const float data[]) noexcept
 Construct from a float array.
 
 Matrix3 (float angle, const Vector3 &axis) noexcept
 Construct from an angle (in degrees) and axis.
 
Matrix3operator= (const Matrix3 &rhs) noexcept=default
 Assign from another matrix.
 
bool operator== (const Matrix3 &rhs) const
 Test for equality with another matrix without epsilon.
 
bool operator!= (const Matrix3 &rhs) const
 Test for inequality with another matrix without epsilon.
 
Vector3 operator* (const Vector3 &rhs) const
 Multiply a Vector3.
 
Matrix3 operator+ (const Matrix3 &rhs) const
 Add a matrix.
 
Matrix3 operator- (const Matrix3 &rhs) const
 Subtract a matrix.
 
Matrix3 operator* (float rhs) const
 Multiply with a scalar.
 
Matrix3 operator* (const Matrix3 &rhs) const
 Multiply a matrix.
 
void FromAngleAxis (float angle, const Vector3 &axis)
 Define from an angle (in degrees) and axis.
 
void SetScale (const Vector3 &scale)
 Set scaling elements.
 
void SetScale (float scale)
 Set uniform scaling elements.
 
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.
 
Matrix3 Transpose () const
 Return transposed.
 
Matrix3 Scaled (const Vector3 &scale) const
 Return scaled by a vector.
 
bool Equals (const Matrix3 &rhs, float eps=M_EPSILON) const
 Test for equality with another matrix with epsilon.
 
float Determinant () const
 Return determinant.
 
Matrix3 Inverse () const
 Return inverse.
 
const float * Data () const
 Return float data.
 
float Element (unsigned i, unsigned j) const
 Return matrix element.
 
Vector3 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 void BulkTranspose (float dest[], const float src[], unsigned count)
 Bulk transpose matrices.
 

Public Attributes

float m00_
 
float m01_
 
float m02_
 
float m10_
 
float m11_
 
float m12_
 
float m20_
 
float m21_
 
float m22_
 

Static Public Attributes

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

Detailed Description

3x3 matrix for rotation and scaling.


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