3 dimensional fixed point matrix More...

Public Member Functions | |
| void | Zero (void) |
| Initialize the matrix to zero. | |
| void | Identity (void) |
| Initialize the matrix to identity. | |
| void | Set (const Matrix3D_t *pInput) |
| Convert a floating point matrix into a fixed16_16_t matrix. | |
| void | Transpose (void) |
| Preform a matrix transposition. | |
| void | Transpose (const FixedMatrix3D_t *pInput) |
| Preform a matrix transposition. | |
| void | GetXRow (FixedVector3D_t *pOutput) const |
| Return the X row from a matrix. | |
| void | GetYRow (FixedVector3D_t *pOutput) const |
| Return the Y row from a matrix. | |
| void | GetZRow (FixedVector3D_t *pOutput) const |
| Return the Z row from a matrix. | |
| void | GetXColumn (FixedVector3D_t *pOutput) const |
| Return the X column from a matrix. | |
| void | GetYColumn (FixedVector3D_t *pOutput) const |
| Return the Y column from a matrix. | |
| void | GetZColumn (FixedVector3D_t *pOutput) const |
| Return the Z column from a matrix. | |
| void | SetXRow (const FixedVector3D_t *pInput) |
| Set the X row of a matrix. | |
| void | SetYRow (const FixedVector3D_t *pInput) |
| Set the Y row of a matrix. | |
| void | SetZRow (const FixedVector3D_t *pInput) |
| Set the Z row of a matrix. | |
| void | SetXColumn (const FixedVector3D_t *pInput) |
| Set the X column of a matrix. | |
| void | SetYColumn (const FixedVector3D_t *pInput) |
| Set the Y column of a matrix. | |
| void | SetZColumn (const FixedVector3D_t *pInput) |
| Set the Z column of a matrix. | |
| void | Multiply (fixed16_16_t fScale) |
| Multiply all entries by a scalar. | |
| void | Multiply (const FixedMatrix3D_t *pInput, fixed16_16_t fScale) |
| Initialize with a matrix multiplied by a scalar. | |
Public Attributes | |
| FixedVector3D_t | x |
| 32 bit fixed point X row for the 3D Matrix | |
| FixedVector3D_t | y |
| 32 bit fixed point Y row for the 3D Matrix | |
| FixedVector3D_t | z |
| 32 bit fixed point Z row for the 3D Matrix | |
3 dimensional fixed point matrix
This 36 byte structure contains 9 32-bit Fixed point values arranged as a 3x3 matrix.
| void BURGER_API Burger::FixedMatrix3D_t::GetXColumn | ( | FixedVector3D_t * | pOutput | ) | const |
Return the X column from a matrix.
Copy the x column of a matrix into a user supplied FixedVector3D_t buffer.
| pOutput | Pointer to an uninitialized FixedVector3D_t structure to receive the data |
| void BURGER_API Burger::FixedMatrix3D_t::GetXRow | ( | FixedVector3D_t * | pOutput | ) | const |
Return the X row from a matrix.
Copy the x row of a matrix into a user supplied FixedVector3D_t buffer.
| pOutput | Pointer to an uninitialized FixedVector3D_t structure to receive the data |
| void BURGER_API Burger::FixedMatrix3D_t::GetYColumn | ( | FixedVector3D_t * | pOutput | ) | const |
Return the Y column from a matrix.
Copy the y column of a matrix into a user supplied FixedVector3D_t buffer.
| pOutput | Pointer to an uninitialized FixedVector3D_t structure to receive the data |
| void BURGER_API Burger::FixedMatrix3D_t::GetYRow | ( | FixedVector3D_t * | pOutput | ) | const |
Return the Y row from a matrix.
Copy the y row of a matrix into a user supplied FixedVector3D_t buffer.
| pOutput | Pointer to an uninitialized FixedVector3D_t structure to receive the data |
| void BURGER_API Burger::FixedMatrix3D_t::GetZColumn | ( | FixedVector3D_t * | pOutput | ) | const |
Return the Z column from a matrix.
Copy the z column of a matrix into a user supplied FixedVector3D_t buffer.
| pOutput | Pointer to an uninitialized FixedVector3D_t structure to receive the data |
| void BURGER_API Burger::FixedMatrix3D_t::GetZRow | ( | FixedVector3D_t * | pOutput | ) | const |
Return the Z row from a matrix.
Copy the z row of a matrix into a user supplied FixedVector3D_t buffer.
| pOutput | Pointer to an uninitialized FixedVector3D_t structure to receive the data |
| 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 BURGER_FLOAT_TO_FIXED(1.0f) The destination matrix is assumed to be uninitialized.
| void BURGER_API Burger::FixedMatrix3D_t::Multiply | ( | const FixedMatrix3D_t * | pInput, |
| fixed16_16_t | fScale ) |
Initialize with a matrix multiplied by a scalar.
Multiply all values of the matrix by a scalar constant and store the result in this matrix
Use this formula to create the final matrix
| x | y | z | |
|---|---|---|---|
| x | (pInput->xx*fScale) | (pInput->xy*fScale) | (pInput->xz*fScale) |
| y | (pInput->yx*fScale) | (pInput->yy*fScale) | (pInput->yz*fScale) |
| z | (pInput->zx*fScale) | (pInput->zy*fScale) | (pInput->zz*fScale) |
| pInput | Pointer to Matrix to multiply |
| fScale | Scalar to multiply all entries by |
| void BURGER_API Burger::FixedMatrix3D_t::Multiply | ( | fixed16_16_t | fScale | ) |
Multiply all entries by a scalar.
Multiply all values in the matrix by a scalar constant
Use this formula to create the final matrix
| x | y | z | |
|---|---|---|---|
| x | (xx*fScale) | (xy*fScale) | (xz*fScale) |
| y | (yx*fScale) | (yy*fScale) | (yz*fScale) |
| z | (zx*fScale) | (zy*fScale) | (zz*fScale) |
| fScale | Scalar to multiply all entries by |
| void BURGER_API Burger::FixedMatrix3D_t::Set | ( | const Matrix3D_t * | pInput | ) |
Convert a floating point matrix into a fixed16_16_t matrix.
Using round to nearest, convert a matrix using floating point values into one that has fixed16_16_t values. The destination matrix is assumed to be uninitialized.
| pInput | Pointer to a valid Matrix3D_t |
| void BURGER_API Burger::FixedMatrix3D_t::SetXColumn | ( | const FixedVector3D_t * | pInput | ) |
Set the X column of a matrix.
Overwrite the X column of the matrix with the input vector
| pInput | Pointer to a FixedVector3D_t structure that has the new X column |
| void BURGER_API Burger::FixedMatrix3D_t::SetXRow | ( | const FixedVector3D_t * | pInput | ) |
Set the X row of a matrix.
Overwrite the X row of the matrix with the input vector
| pInput | Pointer to a FixedVector3D_t structure that has the new X row |
| void BURGER_API Burger::FixedMatrix3D_t::SetYColumn | ( | const FixedVector3D_t * | pInput | ) |
Set the Y column of a matrix.
Overwrite the Y column of the matrix with the input vector
| pInput | Pointer to a FixedVector3D_t structure that has the new Y column |
| void BURGER_API Burger::FixedMatrix3D_t::SetYRow | ( | const FixedVector3D_t * | pInput | ) |
Set the Y row of a matrix.
Overwrite the Y row of the matrix with the input vector
| pInput | Pointer to a FixedVector3D_t structure that has the new Y row |
| void BURGER_API Burger::FixedMatrix3D_t::SetZColumn | ( | const FixedVector3D_t * | pInput | ) |
Set the Z column of a matrix.
Overwrite the Z column of the matrix with the input vector
| pInput | Pointer to a FixedVector3D_t structure that has the new Z column |
| void BURGER_API Burger::FixedMatrix3D_t::SetZRow | ( | const FixedVector3D_t * | pInput | ) |
Set the Z row of a matrix.
Overwrite the Z row of the matrix with the input vector
| pInput | Pointer to a FixedVector3D_t structure that has the new Z row |
| void BURGER_API Burger::FixedMatrix3D_t::Transpose | ( | const FixedMatrix3D_t * | pInput | ) |
Preform a matrix transposition.
Swap the entries x.y and y.x, 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.
| void BURGER_API Burger::FixedMatrix3D_t::Transpose | ( | void | ) |
Preform a matrix transposition.
Swap the entries x.y and y.x, 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::Zero | ( | void | ) |
Initialize the matrix to zero.
Fill every entry in the matrix with zero. The destination matrix is assumed to be uninitialized.
| FixedVector3D_t Burger::FixedMatrix3D_t::x |
32 bit fixed point X row for the 3D Matrix
| FixedVector3D_t Burger::FixedMatrix3D_t::y |
32 bit fixed point Y row for the 3D Matrix
| FixedVector3D_t Burger::FixedMatrix3D_t::z |
32 bit fixed point Z row for the 3D Matrix