Public Member Functions | Public Attributes

Burger::FixedMatrix3D_t Struct Reference

3x3 Fixed32 matrix. More...

#include <fxfixed.h>

Collaboration diagram for Burger::FixedMatrix3D_t:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void BURGER_INLINE Init (void)
 Initialize the matrix to zero.
void BURGER_API Zero (void)
 Initialize the matrix to zero.
void BURGER_API Identity (void)
 Initialize the matrix to identity.
void BURGER_API SetFromMatrix3D (const Matrix3D_t *pInput)
 Convert a floating point matrix into a Fixed32 matrix.
void BURGER_API Transpose (void)
 Preform a matrix transposition.
void BURGER_API Transpose (const FixedMatrix3D_t *pInput)
 Preform a matrix transposition.
void BURGER_API GetXVector (FixedVector3D_t *pOutput) const
 Return the X row from a matrix.
void BURGER_API GetYVector (FixedVector3D_t *pOutput) const
 Return the Y row from a matrix.
void BURGER_API GetZVector (FixedVector3D_t *pOutput) const
 Return the Z row from a matrix.

Public Attributes

FixedVector3D_t x
 X row for the 3x3 Matrix.
FixedVector3D_t y
 Y row for the 3x3 Matrix.
FixedVector3D_t z
 Z row for the 3x3 Matrix.

Detailed Description

3x3 Fixed32 matrix.

This 36 byte structure contains 9 32-bit Fixed point values arranged as a 3x3 matrix.

Note:
Since this is a structure, there is no constructor or destructor, so assume the data is uninitialized when creating this data type.

Member Function Documentation

void BURGER_API Burger::FixedMatrix3D_t::GetXVector ( Burger::FixedVector3D_t pOutput  )  const

Return the X row from a matrix.

Copy the x row of a matrix into a user supplied Burger::FixedVector3D_t buffer.

void BURGER_API Burger::FixedMatrix3D_t::GetYVector ( Burger::FixedVector3D_t pOutput  )  const

Return the Y row from a matrix.

Copy the y row of a matrix into a user supplied Burger::FixedVector3D_t buffer.

void BURGER_API Burger::FixedMatrix3D_t::GetZVector ( Burger::FixedVector3D_t pOutput  )  const

Return the Z row from a matrix.

Copy the z row of a matrix into a user supplied Burger::FixedVector3D_t buffer.

void BURGER_API Burger::FixedMatrix3D_t::Identity ( void   ) 

Initialize the matrix to identity.

Fill in all entries with zero except x,x, y.y and z.z. Those three will be filled in with Fixed32 1.0f The destination matrix is assumed to be uninitialized.

Burger::FixedMatrix3D_t::Init ( void   )  [inline]

Initialize the matrix to zero.

Fill every entry in the matrix with zero. The destination matrix is assumed to be uninitialized.

See also:
Burger::FixedMatrix3D_t::Zero(void)
void BURGER_API Burger::FixedMatrix3D_t::SetFromMatrix3D ( const Matrix3D_t pInput  ) 

Convert a floating point matrix into a Fixed32 matrix.

Using round to nearest, convert a matrix using floating point values into one that has Fixed32 values. The destination matrix is assumed to be uninitialized.

void BURGER_API Burger::FixedMatrix3D_t::Transpose ( void   ) 

Preform a matrix transposition.

Swap the entries xy and yx, x.z and z.x, y,z and z.y to convert a right handed matrix to a left handed one and vice versa. The matrix is assumed to be already initialized.

void BURGER_API Burger::FixedMatrix3D_t::Transpose ( const FixedMatrix3D_t pInput  ) 

Preform a matrix transposition.

Swap the entries xy and yx, x.z and z.x, y,z and z.y to convert a right handed matrix to a left handed one and vice versa. The other three entries are copied. The destination matrix is assumed to be uninitialized.

Note:
This function is optimized to write the new matrix in sequential order in the event this function is writing to write combined memory.
void BURGER_API Burger::FixedMatrix3D_t::Zero ( void   ) 

Initialize the matrix to zero.

Fill every entry in the matrix with zero. The destination matrix is assumed to be uninitialized.


Member Data Documentation

X row for the 3x3 Matrix.

Y row for the 3x3 Matrix.

Z row for the 3x3 Matrix.