|
"L. Spiro Engine"
|
The base matrix template allowing any type of number to be used. More...
#include <LSMMatrix3x3Base.h>
Public Member Functions | |
| LSE_CALLCTOR | CMatrix3x3Base (const CMatrix3x3Base< _tType, _tVector3Type > &_m33bOther) |
| LSE_CALLCTOR | CMatrix3x3Base (const CMatrix3x3Base< _tType, _tVector3Type > &_m33bOther, LSBOOL _bTranspose) |
| LSE_CALLCTOR | CMatrix3x3Base (const _tType *_ptArray) |
| _tType &LSE_FCALL | operator() (LSUINT32 _ui32Row, LSUINT32 _ui32Col) |
| _tType LSE_FCALL | operator() (LSUINT32 _ui32Row, LSUINT32 _ui32Col) const |
| CMatrix3x3Base< _tType, _tVector3Type > LSE_FCALL | operator* (const CMatrix3x3Base< _tType, _tVector3Type > &_m33bOther) const |
| _tVector3Type LSE_FCALL | operator* (const _tVector3Type &_v3bOther) const |
| CMatrix3x3Base< _tType, _tVector3Type > LSE_FCALL | operator* (_tType _tValue) const |
| CMatrix3x3Base< _tType, _tVector3Type > &LSE_FCALL | operator*= (_tType _tValue) |
| CMatrix3x3Base< _tType, _tVector3Type > &LSE_FCALL | operator+= (const CMatrix3x3Base< _tType, _tVector3Type > &_m33bOther) |
| CMatrix3x3Base< _tType, _tVector3Type > &LSE_FCALL | Identity () |
| CMatrix3x3Base< _tType, _tVector3Type > &LSE_FCALL | Transpose () |
| CMatrix3x3Base< _tType, _tVector3Type > | Inverse () const |
| _tType LSE_FCALL | Determ () const |
| LSVOID LSE_FCALL | SetRow (LSUINT32 _ui32Row, const _tVector3Type &_v3bVec) |
| CMatrix3x3Base< _tType, _tVector3Type > &LSE_FCALL | SetSkewSymmetric (const _tVector3Type &_v3bVec) |
| LSVOID LSE_FCALL | GetYawPitchRoll (_tType &_tYaw, _tType &_tPitch, _tType &_tRoll) const |
Static Public Member Functions | |
| static CMatrix3x3Base< _tType, _tVector3Type > *LSE_FCALL | MatrixMultiply (CMatrix3x3Base< _tType, _tVector3Type > &_m33bOut, const CMatrix3x3Base< _tType, _tVector3Type > &_m33bM1, const CMatrix3x3Base< _tType, _tVector3Type > &_m33bM2) |
| static LSVOID LSE_FCALL | MultiplyVec3ByMat3x3 (const CMatrix3x3Base< _tType, _tVector3Type > &_m33bMat, const _tVector3Type &_v3bIn, _tVector3Type &_v3bOut) |
| static LSVOID LSE_FCALL | MultiplyVec3ByMat3x3Transpose (const CMatrix3x3Base< _tType, _tVector3Type > &_m33bMat, const _tVector3Type &_v3bIn, _tVector3Type &_v3bOut) |
Public Attributes | |
| _tType | _11 |
| _tType | _12 |
| _tType | _13 |
| _tType | _21 |
| _tType | _22 |
| _tType | _23 |
| _tType | _31 |
| _tType | _32 |
| _tType | _33 |
The base matrix template allowing any type of number to be used.
Class CMatrix3x3Base Description: The base matrix template allowing any type of number to be used. Vectors are stored row-major.
| _tType LSE_FCALL lsm::CMatrix3x3Base< _tType, _tVector3Type >::Determ | ( | ) | const [inline] |
Get the determinant.
| LSVOID LSE_FCALL lsm::CMatrix3x3Base< _tType, _tVector3Type >::GetYawPitchRoll | ( | _tType & | _tYaw, |
| _tType & | _tPitch, | ||
| _tType & | _tRoll | ||
| ) | const [inline] |
Get the yaw, pitch, and roll from this matrix.
| _tYaw | Holds the returned yaw. |
| _tPitch | Holds the returned pitch. |
| _tRoll | Holds the returned roll. |
| CMatrix3x3Base<_tType, _tVector3Type>& LSE_FCALL lsm::CMatrix3x3Base< _tType, _tVector3Type >::Identity | ( | ) | [inline] |
Set the identity matrix in place.
| CMatrix3x3Base<_tType, _tVector3Type> lsm::CMatrix3x3Base< _tType, _tVector3Type >::Inverse | ( | ) | const [inline] |
Get the inverse of this matrix. Upon failure, the identity matrix is returned.
| static CMatrix3x3Base<_tType, _tVector3Type>* LSE_FCALL lsm::CMatrix3x3Base< _tType, _tVector3Type >::MatrixMultiply | ( | CMatrix3x3Base< _tType, _tVector3Type > & | _m33bOut, |
| const CMatrix3x3Base< _tType, _tVector3Type > & | _m33bM1, | ||
| const CMatrix3x3Base< _tType, _tVector3Type > & | _m33bM2 | ||
| ) | [inline, static] |
Multiply two matrices together. The result represents the transformation M1 followed by the transformation M2.
| _m33bOut | The output matrix holding the result of the operation. |
| _m33bM1 | The left operand. |
| _m33bM2 | The right operand. |
| static LSVOID LSE_FCALL lsm::CMatrix3x3Base< _tType, _tVector3Type >::MultiplyVec3ByMat3x3 | ( | const CMatrix3x3Base< _tType, _tVector3Type > & | _m33bMat, |
| const _tVector3Type & | _v3bIn, | ||
| _tVector3Type & | _v3bOut | ||
| ) | [inline, static] |
Transforms vector (x, y, z) by a given matrix. _v3bIn and _v3bOut must not be the same vectors.
| _m33bMat | The matrix by which to transform the given vector. |
| _v3bIn | The vector to transform. |
| _v3bOut | The resulting vector after the transformation has been applied. |
| static LSVOID LSE_FCALL lsm::CMatrix3x3Base< _tType, _tVector3Type >::MultiplyVec3ByMat3x3Transpose | ( | const CMatrix3x3Base< _tType, _tVector3Type > & | _m33bMat, |
| const _tVector3Type & | _v3bIn, | ||
| _tVector3Type & | _v3bOut | ||
| ) | [inline, static] |
Transforms vector (x, y, z) by the transpose of a given matrix. _v3bIn and _v3bOut must not be the same vectors.
| _m33bMat | The matrix by which to transform the given vector. |
| _v3bIn | The vector to transform. |
| _v3bOut | The resulting vector after the transformation has been applied. |
| _tType& LSE_FCALL lsm::CMatrix3x3Base< _tType, _tVector3Type >::operator() | ( | LSUINT32 | _ui32Row, |
| LSUINT32 | _ui32Col | ||
| ) | [inline] |
Provides row/column access to the values in the matrix.
| _ui32Row | The row of the value to obtain. |
| _ui32Col | The column of the value to obtain. |
| _tType LSE_FCALL lsm::CMatrix3x3Base< _tType, _tVector3Type >::operator() | ( | LSUINT32 | _ui32Row, |
| LSUINT32 | _ui32Col | ||
| ) | const [inline] |
Provides row/column access to the values in the matrix.
| _ui32Row | The row of the value to obtain. |
| _ui32Col | The column of the value to obtain. |
| _tVector3Type LSE_FCALL lsm::CMatrix3x3Base< _tType, _tVector3Type >::operator* | ( | const _tVector3Type & | _v3bOther | ) | const [inline] |
Multiply this matrix with a vector, returning the result as V = this * _v3bOther.
| _v3bOther | The vector to transform by this matrix. |
| CMatrix3x3Base<_tType, _tVector3Type> LSE_FCALL lsm::CMatrix3x3Base< _tType, _tVector3Type >::operator* | ( | const CMatrix3x3Base< _tType, _tVector3Type > & | _m33bOther | ) | const [inline] |
Multiply this matrix with another, returning the result as M = this * _m33bOther.
| _m33bOther | The matrix by which to multiply this matrix. |
| CMatrix3x3Base<_tType, _tVector3Type> LSE_FCALL lsm::CMatrix3x3Base< _tType, _tVector3Type >::operator* | ( | _tType | _tValue | ) | const [inline] |
Multiply each component of the matrix by the given real.
| _tValue | The real by which to multiply each component of this matrix. |
| CMatrix3x3Base<_tType, _tVector3Type>& LSE_FCALL lsm::CMatrix3x3Base< _tType, _tVector3Type >::operator*= | ( | _tType | _tValue | ) | [inline] |
Multiply each component of the matrix by the given real in-place.
| _tValue | The real by which to multiply each component of this matrix. |
| CMatrix3x3Base<_tType, _tVector3Type>& LSE_FCALL lsm::CMatrix3x3Base< _tType, _tVector3Type >::operator+= | ( | const CMatrix3x3Base< _tType, _tVector3Type > & | _m33bOther | ) | [inline] |
Performs a componentwise addition between this matrix and the given matrix.
| _m33bOther | The matrix by which each component is added. |
| LSVOID LSE_FCALL lsm::CMatrix3x3Base< _tType, _tVector3Type >::SetRow | ( | LSUINT32 | _ui32Row, |
| const _tVector3Type & | _v3bVec | ||
| ) | [inline] |
Set a row.
| _ui32Row | The row to set. |
| _vRet | The value to apply to the row. |
| CMatrix3x3Base<_tType, _tVector3Type>& LSE_FCALL lsm::CMatrix3x3Base< _tType, _tVector3Type >::SetSkewSymmetric | ( | const _tVector3Type & | _v3bVec | ) | [inline] |
Apply a skew symmetric matrix to this object.
| _v3bVec | The vector from which the skew symmetric matrix is to be obtained. |
| CMatrix3x3Base<_tType, _tVector3Type>& LSE_FCALL lsm::CMatrix3x3Base< _tType, _tVector3Type >::Transpose | ( | ) | [inline] |
Transpose a matrix in place.
1.7.3