Faro Engine 0.0.0.b519570 (main)
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Faro::Matrix44 Struct Reference

#include <Matrix44.hpp>

Public Member Functions

 Matrix44 (float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23, float m30, float m31, float m32, float m33)
 
 Matrix44 ()
 
Float2D operator* (Float2D vec)
 
Float3D operator* (Float3D vec)
 
Float4D operator* (Float4D vec)
 
Matrix44 operator+ (const Matrix44 &mat) const
 
Matrix44 operator- (const Matrix44 &mat) const
 
Matrix44 operator* (const Matrix44 &mat) const
 
Float3D GetTranslation () const
 Translation bit of the matrix.
 
void SetTranslation (const Float3D &vec)
 Set the transltion of the matrix.
 
Float3D GetXAxis () const
 Get the x orientation axis.
 
Float3D GetYAxis () const
 Get the y orientation axis.
 
Float3D GetZAxis () const
 Get the z orientation axis.
 
float Determinant () const
 Get the determinant of this matrix.
 
bool Invert ()
 Inverts this matrix.
 
void Transpose ()
 Transposes this matrix.
 
Matrix44 Transposed ()
 Returns tthis matrix transposed.
 
Matrix44 Get ()
 
void SetOrientation (const Float3D &x, const Float3D &y, const Float3D &z)
 
void SetEulerAxis (float yaw, float pitch, float roll)
 Set orientation using Euler angles. Broken at current!
 
Float3D TransformDirectionVector (const Float3D &direction)
 Transfrom just the direction.
 

Static Public Member Functions

static Matrix44 CreateIdentity ()
 
static Matrix44 CreateTranslation (Float3D translation)
 
static Matrix44 CreateScale (Float3D scale)
 
static Matrix44 CreateRotate (float angle, const Float3D &axis)
 Creates a rotation matrix around an arbitrary axis.
 
static Matrix44 CreateRotateX (float angle)
 Angle in radians.
 
static Matrix44 CreateRotateY (float angle)
 Angle in radians.
 
static Matrix44 CreateRotateZ (float angle)
 Angle in radians.
 
static Matrix44 CreateOrtho (float left, float right, float bottom, float top, float nearZ, float farZ)
 Creates an orthographic projection matrix.
 
static Matrix44 CreateFrustum (float left, float right, float bottom, float top, float nearZ, float farZ)
 Creates a frustum projection matrix.
 
static Matrix44 CreatePerspective (float fovy, float aspect, float nearZ, float farZ)
 Creates a perspective projection matrix from camera settings.
 
static Matrix44 CreateLookAt (const Float3D &eye, const Float3D &center, const Float3D &up)
 Creates a look at matrix, usualy a view matrix

 

Public Attributes

union { 
 
   float   m [4][4] 
 
   float   f [16] 
 
};  
 

Constructor & Destructor Documentation

◆ Matrix44() [1/2]

Faro::Matrix44::Matrix44 ( float  m00,
float  m01,
float  m02,
float  m03,
float  m10,
float  m11,
float  m12,
float  m13,
float  m20,
float  m21,
float  m22,
float  m23,
float  m30,
float  m31,
float  m32,
float  m33 
)

◆ Matrix44() [2/2]

Faro::Matrix44::Matrix44 ( )

Member Function Documentation

◆ CreateFrustum()

Matrix44 Faro::Matrix44::CreateFrustum ( float  left,
float  right,
float  bottom,
float  top,
float  nearZ,
float  farZ 
)
static

Creates a frustum projection matrix.

◆ CreateIdentity()

Matrix44 Faro::Matrix44::CreateIdentity ( )
static

Creates an identity matrix

Returns
Identity matrix

◆ CreateLookAt()

Matrix44 Faro::Matrix44::CreateLookAt ( const Float3D eye,
const Float3D center,
const Float3D up 
)
static

Creates a look at matrix, usualy a view matrix

◆ CreateOrtho()

Matrix44 Faro::Matrix44::CreateOrtho ( float  left,
float  right,
float  bottom,
float  top,
float  nearZ,
float  farZ 
)
static

Creates an orthographic projection matrix.

◆ CreatePerspective()

Matrix44 Faro::Matrix44::CreatePerspective ( float  fovy,
float  aspect,
float  nearZ,
float  farZ 
)
static

Creates a perspective projection matrix from camera settings.

◆ CreateRotate()

Matrix44 Faro::Matrix44::CreateRotate ( float  angle,
const Float3D axis 
)
static

Creates a rotation matrix around an arbitrary axis.

◆ CreateRotateX()

Matrix44 Faro::Matrix44::CreateRotateX ( float  angle)
static

Angle in radians.

◆ CreateRotateY()

Matrix44 Faro::Matrix44::CreateRotateY ( float  angle)
static

Angle in radians.

◆ CreateRotateZ()

Matrix44 Faro::Matrix44::CreateRotateZ ( float  angle)
static

Angle in radians.

◆ CreateScale()

Matrix44 Faro::Matrix44::CreateScale ( Float3D  scale)
static

◆ CreateTranslation()

Matrix44 Faro::Matrix44::CreateTranslation ( Float3D  translation)
static

Creates a transation matrix

Returns
Translation matrix

◆ Determinant()

float Faro::Matrix44::Determinant ( ) const

Get the determinant of this matrix.

◆ Get()

Matrix44 Faro::Matrix44::Get ( )

◆ GetTranslation()

Float3D Faro::Matrix44::GetTranslation ( ) const

Translation bit of the matrix.

◆ GetXAxis()

Float3D Faro::Matrix44::GetXAxis ( ) const

Get the x orientation axis.

◆ GetYAxis()

Float3D Faro::Matrix44::GetYAxis ( ) const

Get the y orientation axis.

◆ GetZAxis()

Float3D Faro::Matrix44::GetZAxis ( ) const

Get the z orientation axis.

◆ Invert()

bool Faro::Matrix44::Invert ( )

Inverts this matrix.

◆ operator*() [1/4]

Matrix44 Faro::Matrix44::operator* ( const Matrix44 mat) const

◆ operator*() [2/4]

Float2D Faro::Matrix44::operator* ( Float2D  vec)

◆ operator*() [3/4]

Float3D Faro::Matrix44::operator* ( Float3D  vec)

◆ operator*() [4/4]

Float4D Faro::Matrix44::operator* ( Float4D  vec)

◆ operator+()

Matrix44 Faro::Matrix44::operator+ ( const Matrix44 mat) const

◆ operator-()

Matrix44 Faro::Matrix44::operator- ( const Matrix44 mat) const

◆ SetEulerAxis()

void Faro::Matrix44::SetEulerAxis ( float  yaw,
float  pitch,
float  roll 
)

Set orientation using Euler angles. Broken at current!

◆ SetOrientation()

void Faro::Matrix44::SetOrientation ( const Float3D x,
const Float3D y,
const Float3D z 
)

Sets the orientation of the matrix to the orthogonal basis vector It perfoms no checks on the orthogonality!

Parameters
xX orthogonal basis vector
yY orthogonal basis vector
zZ orthogonal basis vector

◆ SetTranslation()

void Faro::Matrix44::SetTranslation ( const Float3D vec)

Set the transltion of the matrix.

◆ TransformDirectionVector()

Float3D Faro::Matrix44::TransformDirectionVector ( const Float3D direction)

Transfrom just the direction.

◆ Transpose()

void Faro::Matrix44::Transpose ( )

Transposes this matrix.

◆ Transposed()

Matrix44 Faro::Matrix44::Transposed ( )

Returns tthis matrix transposed.

Member Data Documentation

◆ [union]

union { ... } Faro::Matrix44

◆ f

float Faro::Matrix44::f[16]

◆ m

float Faro::Matrix44::m[4][4]

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