BNM 2.4.0
 
Loading...
Searching...
No Matches
BNM::Structures::Unity::Matrix3x3 Struct Reference

Public Member Functions

 Matrix3x3 (float m00, float m01, float m02, float m10, float m11, float m12, float m20, float m21, float m22)
 
 Matrix3x3 (const class Matrix4x4 &m)
 
float & Get (int row, int column)
 
const float & Get (int row, int column) const
 
float & operator[] (int row)
 
float operator[] (int row) const
 
float * GetPtr ()
 
const float * GetPtr () const
 
Vector3 GetColumn (int col) const
 
Vector3 MultiplyVector3 (const Vector3 &inV) const
 
void MultiplyVector3 (const Vector3 &inV, Vector3 &output) const
 
Vector3 MultiplyPoint3 (const Vector3 &inV) const
 
Vector3 MultiplyVector3Transpose (const Vector3 &inV) const
 
Vector3 MultiplyPoint3Transpose (const Vector3 &inV) const
 
Matrix3x3operator= (const class Matrix4x4 &m)
 
Matrix3x3operator*= (const class Matrix4x4 &inM)
 
Matrix3x3operator*= (const Matrix3x3 &inM)
 
Matrix3x3operator*= (float f)
 
Matrix3x3operator/= (float f)
 
bool Invert ()
 
float GetDeterminant () const
 
Matrix3x3Transpose ()
 
void InvertTranspose ()
 
Matrix3x3SetIdentity ()
 
Matrix3x3SetZero ()
 
Matrix3x3SetFromToRotation (const Vector3 &from, const Vector3 &to)
 
Matrix3x3SetAxisAngle (const Vector3 &rotationAxis, float radians)
 
Matrix3x3SetBasis (const Vector3 &inX, const Vector3 &inY, const Vector3 &inZ)
 
Matrix3x3SetBasisTransposed (const Vector3 &inX, const Vector3 &inY, const Vector3 &inZ)
 
Matrix3x3SetScale (const Vector3 &inScale)
 
Matrix3x3Scale (const Vector3 &inScale)
 
bool IsIdentity (float threshold=Vector3::kEpsilon)
 

Static Public Member Functions

static void MultiplyMatrices3x3 (const Matrix3x3 *__restrict lhs, const Matrix3x3 *__restrict rhs, Matrix3x3 *__restrict res)
 
static bool LookRotationToMatrix (const Vector3 &viewVec, const Vector3 &upVec, Matrix3x3 *m)
 
static void EulerToMatrix (const Vector3 &inV, Matrix3x3 &matrix)
 
static void GetRotMatrixNormVec (float *out, const float *inVec, float radians)
 
static void OrthoNormalize (Matrix3x3 &matrix)
 

Public Attributes

float m_Data [9] {}
 

Static Public Attributes

static const Matrix3x3 zero
 
static const Matrix3x3 identity
 

Friends

Matrix3x3 operator* (const Matrix3x3 &lhs, const Matrix3x3 &rhs)