![]() |
OGRE-Next 3.0.0
Object-Oriented Graphics Rendering Engine
|
Cache-friendly container of AFFINE 4x4 matrices represented as a SoA array. More...
#include <OgreArrayMatrixAf4x3.h>
Public Member Functions | |
| ArrayMatrixAf4x3 () | |
| ArrayMatrixAf4x3 () | |
| ArrayMatrixAf4x3 () | |
| void | decomposition (ArrayVector3 &position, ArrayVector3 &scale, ArrayQuaternion &orientation) const |
| Decompose a Matrix4 to orientation / scale / position. | |
| void | decomposition (ArrayVector3 &position, ArrayVector3 &scale, ArrayQuaternion &orientation) const |
| Decompose a Matrix4 to orientation / scale / position. | |
| void | decomposition (ArrayVector3 &position, ArrayVector3 &scale, ArrayQuaternion &orientation) const |
| Decompose a Matrix4 to orientation / scale / position. | |
| void | fromQuaternion (const ArrayQuaternion &q) |
| Converts the given quaternion to a 3x3 matrix representation and fill our values. | |
| void | fromQuaternion (const ArrayQuaternion &q) |
| Converts the given quaternion to a 3x3 matrix representation and fill our values. | |
| void | fromQuaternion (const ArrayQuaternion &q) |
| Converts the given quaternion to a 3x3 matrix representation and fill our values. | |
| void | loadFromAoS (const Matrix4 *RESTRICT_ALIAS *src) |
| void | loadFromAoS (const Matrix4 *RESTRICT_ALIAS *src) |
| void | loadFromAoS (const Matrix4 *RESTRICT_ALIAS *src) |
| void | loadFromAoS (const Matrix4 *RESTRICT_ALIAS src) |
| Converts ARRAY_PACKED_REALS matrices into this ArrayMatrix. | |
| void | loadFromAoS (const Matrix4 *RESTRICT_ALIAS src) |
| Converts ARRAY_PACKED_REALS matrices into this ArrayMatrix. | |
| void | loadFromAoS (const Matrix4 *RESTRICT_ALIAS src) |
| Converts ARRAY_PACKED_REALS matrices into this ArrayMatrix. | |
| void | loadFromAoS (const SimpleMatrixAf4x3 *RESTRICT_ALIAS *src) |
| void | loadFromAoS (const SimpleMatrixAf4x3 *RESTRICT_ALIAS *src) |
| void | loadFromAoS (const SimpleMatrixAf4x3 *RESTRICT_ALIAS *src) |
| void | loadFromAoS (const SimpleMatrixAf4x3 *RESTRICT_ALIAS src) |
| void | loadFromAoS (const SimpleMatrixAf4x3 *RESTRICT_ALIAS src) |
| void | loadFromAoS (const SimpleMatrixAf4x3 *RESTRICT_ALIAS src) |
| void | makeTransform (const ArrayVector3 &position, const ArrayVector3 &scale, const ArrayQuaternion &orientation) |
| Building a Matrix4 from orientation / scale / position. | |
| void | makeTransform (const ArrayVector3 &position, const ArrayVector3 &scale, const ArrayQuaternion &orientation) |
| Building a Matrix4 from orientation / scale / position. | |
| void | makeTransform (const ArrayVector3 &position, const ArrayVector3 &scale, const ArrayQuaternion &orientation) |
| Building a Matrix4 from orientation / scale / position. | |
| ArrayVector3 | operator* (const ArrayVector3 &rhs) const |
| ArrayVector3 | operator* (const ArrayVector3 &rhs) const |
| ArrayVector3 | operator* (const ArrayVector3 &rhs) const |
| void | operator*= (const ArrayMatrixAf4x3 &rhs) |
| Prefer the update version 'a *= b' A LOT over 'a = a * b' (copying from an ArrayMatrix4 is 256 bytes!) | |
| FORCEINLINE void | operator*= (const ArrayMatrixAf4x3 &rhs) |
| Prefer the update version 'a *= b' A LOT over 'a = a * b' (copying from an ArrayMatrix4 is 256 bytes!) | |
| FORCEINLINE void | operator*= (const ArrayMatrixAf4x3 &rhs) |
| Prefer the update version 'a *= b' A LOT over 'a = a * b' (copying from an ArrayMatrix4 is 256 bytes!) | |
| void | retain (ArrayMaskR orientation, ArrayMaskR scale) |
| Strips orientation and/or scale components out of this matrix based on the input using branchless selection. | |
| void | retain (ArrayMaskR orientation, ArrayMaskR scale) |
| Strips orientation and/or scale components out of this matrix based on the input using branchless selection. | |
| void | retain (ArrayMaskR orientation, ArrayMaskR scale) |
| Strips orientation and/or scale components out of this matrix based on the input using branchless selection. | |
| void | setAll (const Matrix4 &m) |
| Sets all packed matrices to the same value as the scalar input matrix. | |
| void | setAll (const Matrix4 &m) |
| Sets all packed matrices to the same value as the scalar input matrix. | |
| void | setAll (const Matrix4 &m) |
| Sets all packed matrices to the same value as the scalar input matrix. | |
| void | setToInverse () |
| Calculates the inverse of the matrix. | |
| void | setToInverse () |
| Calculates the inverse of the matrix. | |
| void | setToInverse () |
| Calculates the inverse of the matrix. | |
| void | setToInverseDegeneratesAsIdentity () |
| Calculates the inverse of the matrix. | |
| void | setToInverseDegeneratesAsIdentity () |
| Calculates the inverse of the matrix. | |
| void | setToInverseDegeneratesAsIdentity () |
| Calculates the inverse of the matrix. | |
| void | storeToAoS (SimpleMatrixAf4x3 *RESTRICT_ALIAS src) const |
| void | storeToAoS (SimpleMatrixAf4x3 *RESTRICT_ALIAS src) const |
| void | storeToAoS (SimpleMatrixAf4x3 *RESTRICT_ALIAS src) const |
| void | streamToAoS (Matrix4 *RESTRICT_ALIAS dst) const |
| Converts these matrices contained in this ArrayMatrix to AoS form and stores them in dst. | |
| void | streamToAoS (Matrix4 *RESTRICT_ALIAS dst) const |
| Converts these matrices contained in this ArrayMatrix to AoS form and stores them in dst. | |
| void | streamToAoS (Matrix4 *RESTRICT_ALIAS dst) const |
| Converts these matrices contained in this ArrayMatrix to AoS form and stores them in dst. | |
| void | streamToAoS (SimpleMatrixAf4x3 *RESTRICT_ALIAS src) const |
| void | streamToAoS (SimpleMatrixAf4x3 *RESTRICT_ALIAS src) const |
| void | streamToAoS (SimpleMatrixAf4x3 *RESTRICT_ALIAS src) const |
Static Public Member Functions | |
| static ArrayMatrixAf4x3 | createAllFromMatrix4 (const Matrix4 &m) |
| static ArrayMatrixAf4x3 | createAllFromMatrix4 (const Matrix4 &m) |
| static ArrayMatrixAf4x3 | createAllFromMatrix4 (const Matrix4 &m) |
Public Attributes | |
| ArrayReal | mChunkBase [12] |
Static Public Attributes | |
| static const ArrayMatrixAf4x3 | IDENTITY |
Cache-friendly container of AFFINE 4x4 matrices represented as a SoA array.
|
inline |
Referenced by createAllFromMatrix4(), loadFromAoS(), operator*, and operator*=().
|
inline |
|
inline |
|
inlinestatic |
References ArrayMatrixAf4x3(), and setAll().
|
inlinestatic |
References ArrayMatrixAf4x3(), and setAll().
|
inlinestatic |
References ArrayMatrixAf4x3(), and setAll().
|
inline |
Decompose a Matrix4 to orientation / scale / position.
|
inline |
Decompose a Matrix4 to orientation / scale / position.
|
inline |
Decompose a Matrix4 to orientation / scale / position.
|
inline |
Converts the given quaternion to a 3x3 matrix representation and fill our values.
| q | The quaternion to convert from. |
|
inline |
Converts the given quaternion to a 3x3 matrix representation and fill our values.
| q | The quaternion to convert from. |
|
inline |
Converts the given quaternion to a 3x3 matrix representation and fill our values.
| q | The quaternion to convert from. |
|
inline |
References RESTRICT_ALIAS.
|
inline |
References RESTRICT_ALIAS.
|
inline |
References RESTRICT_ALIAS.
|
inline |
Converts ARRAY_PACKED_REALS matrices into this ArrayMatrix.
References RESTRICT_ALIAS.
|
inline |
Converts ARRAY_PACKED_REALS matrices into this ArrayMatrix.
References RESTRICT_ALIAS.
|
inline |
Converts ARRAY_PACKED_REALS matrices into this ArrayMatrix.
References RESTRICT_ALIAS.
|
inline |
References RESTRICT_ALIAS.
|
inline |
References ArrayMatrixAf4x3(), IDENTITY, and RESTRICT_ALIAS.
|
inline |
References ArrayMatrixAf4x3(), IDENTITY, and RESTRICT_ALIAS.
|
inline |
References RESTRICT_ALIAS.
|
inline |
References RESTRICT_ALIAS.
|
inline |
References RESTRICT_ALIAS.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Prefer the update version 'a *= b' A LOT over 'a = a * b' (copying from an ArrayMatrix4 is 256 bytes!)
References ArrayMatrixAf4x3().
| FORCEINLINE void Ogre::ArrayMatrixAf4x3::operator*= | ( | const ArrayMatrixAf4x3 & | rhs | ) |
Prefer the update version 'a *= b' A LOT over 'a = a * b' (copying from an ArrayMatrix4 is 256 bytes!)
References ArrayMatrixAf4x3().
| FORCEINLINE void Ogre::ArrayMatrixAf4x3::operator*= | ( | const ArrayMatrixAf4x3 & | rhs | ) |
Prefer the update version 'a *= b' A LOT over 'a = a * b' (copying from an ArrayMatrix4 is 256 bytes!)
References ArrayMatrixAf4x3().
|
inline |
Strips orientation and/or scale components out of this matrix based on the input using branchless selection.
|
inline |
Strips orientation and/or scale components out of this matrix based on the input using branchless selection.
|
inline |
Strips orientation and/or scale components out of this matrix based on the input using branchless selection.
|
inline |
Sets all packed matrices to the same value as the scalar input matrix.
References Ogre::Matrix4::_m, and mChunkBase.
Referenced by createAllFromMatrix4().
|
inline |
Sets all packed matrices to the same value as the scalar input matrix.
References Ogre::Matrix4::_m, and mChunkBase.
|
inline |
Sets all packed matrices to the same value as the scalar input matrix.
References Ogre::Matrix4::_m, and mChunkBase.
|
inline |
Calculates the inverse of the matrix.
If used against degenerate matrices, it may cause NaNs and Infs on those. Use setToInverseDegeneratesAsIdentity() if you want to deal with degenerate matrices.
|
inline |
Calculates the inverse of the matrix.
If used against degenerate matrices, it may cause NaNs and Infs on those. Use setToInverseDegeneratesAsIdentity() if you want to deal with degenerate matrices.
|
inline |
Calculates the inverse of the matrix.
If used against degenerate matrices, it may cause NaNs and Infs on those. Use setToInverseDegeneratesAsIdentity() if you want to deal with degenerate matrices.
|
inline |
Calculates the inverse of the matrix.
If one (or more) of the matrices are degenerate (don't have an inverse), those are set to identity.
|
inline |
Calculates the inverse of the matrix.
If one (or more) of the matrices are degenerate (don't have an inverse), those are set to identity.
|
inline |
Calculates the inverse of the matrix.
If one (or more) of the matrices are degenerate (don't have an inverse), those are set to identity.
|
inline |
References RESTRICT_ALIAS.
|
inline |
References RESTRICT_ALIAS.
|
inline |
References RESTRICT_ALIAS.
|
inline |
Converts these matrices contained in this ArrayMatrix to AoS form and stores them in dst.
References RESTRICT_ALIAS.
|
inline |
Converts these matrices contained in this ArrayMatrix to AoS form and stores them in dst.
References RESTRICT_ALIAS.
|
inline |
Converts these matrices contained in this ArrayMatrix to AoS form and stores them in dst.
References RESTRICT_ALIAS.
|
inline |
References RESTRICT_ALIAS.
|
inline |
References RESTRICT_ALIAS.
|
inline |
References RESTRICT_ALIAS.
|
static |
Referenced by loadFromAoS().