OGRE-Next
2.3
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. More... | |
void | decomposition (ArrayVector3 &position, ArrayVector3 &scale, ArrayQuaternion &orientation) const |
Decompose a Matrix4 to orientation / scale / position. More... | |
void | decomposition (ArrayVector3 &position, ArrayVector3 &scale, ArrayQuaternion &orientation) const |
Decompose a Matrix4 to orientation / scale / position. More... | |
void | fromQuaternion (const ArrayQuaternion &q) |
Converts the given quaternion to a 3x3 matrix representation and fill our values. More... | |
void | fromQuaternion (const ArrayQuaternion &q) |
Converts the given quaternion to a 3x3 matrix representation and fill our values. More... | |
void | fromQuaternion (const ArrayQuaternion &q) |
Converts the given quaternion to a 3x3 matrix representation and fill our values. More... | |
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. More... | |
void | loadFromAoS (const Matrix4 *RESTRICT_ALIAS src) |
Converts ARRAY_PACKED_REALS matrices into this ArrayMatrix. More... | |
void | loadFromAoS (const Matrix4 *RESTRICT_ALIAS src) |
Converts ARRAY_PACKED_REALS matrices into this ArrayMatrix. More... | |
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. More... | |
void | makeTransform (const ArrayVector3 &position, const ArrayVector3 &scale, const ArrayQuaternion &orientation) |
Building a Matrix4 from orientation / scale / position. More... | |
void | makeTransform (const ArrayVector3 &position, const ArrayVector3 &scale, const ArrayQuaternion &orientation) |
Building a Matrix4 from orientation / scale / position. More... | |
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!) More... | |
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!) More... | |
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!) More... | |
void | retain (ArrayMaskR orientation, ArrayMaskR scale) |
Strips orientation and/or scale components out of this matrix based on the input using branchless selection. More... | |
void | retain (ArrayMaskR orientation, ArrayMaskR scale) |
Strips orientation and/or scale components out of this matrix based on the input using branchless selection. More... | |
void | retain (ArrayMaskR orientation, ArrayMaskR scale) |
Strips orientation and/or scale components out of this matrix based on the input using branchless selection. More... | |
void | setAll (const Matrix4 &m) |
Sets all packed matrices to the same value as the scalar input matrix. More... | |
void | setAll (const Matrix4 &m) |
Sets all packed matrices to the same value as the scalar input matrix. More... | |
void | setAll (const Matrix4 &m) |
Sets all packed matrices to the same value as the scalar input matrix. More... | |
void | setToInverse () |
Calculates the inverse of the matrix. More... | |
void | setToInverse () |
Calculates the inverse of the matrix. More... | |
void | setToInverse () |
Calculates the inverse of the matrix. More... | |
void | setToInverseDegeneratesAsIdentity () |
Calculates the inverse of the matrix. More... | |
void | setToInverseDegeneratesAsIdentity () |
Calculates the inverse of the matrix. More... | |
void | setToInverseDegeneratesAsIdentity () |
Calculates the inverse of the matrix. More... | |
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. More... | |
void | streamToAoS (Matrix4 *RESTRICT_ALIAS dst) const |
Converts these matrices contained in this ArrayMatrix to AoS form and stores them in dst. More... | |
void | streamToAoS (Matrix4 *RESTRICT_ALIAS dst) const |
Converts these matrices contained in this ArrayMatrix to AoS form and stores them in dst. More... | |
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 |
Friends | |
ArrayMatrixAf4x3 | operator* (const ArrayMatrixAf4x3 &lhs, const ArrayMatrixAf4x3 &rhs) |
FORCEINLINE friend ArrayMatrixAf4x3 | operator* (const ArrayMatrixAf4x3 &lhs, const ArrayMatrixAf4x3 &rhs) |
FORCEINLINE friend ArrayMatrixAf4x3 | operator* (const ArrayMatrixAf4x3 &lhs, const ArrayMatrixAf4x3 &rhs) |
Cache-friendly container of AFFINE 4x4 matrices represented as a SoA array.
|
inline |
|
inline |
|
inline |
|
inlinestatic |
References setAll().
|
inlinestatic |
References setAll().
|
inlinestatic |
References 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.
The | quaternion to convert from. |
|
inline |
Converts the given quaternion to a 3x3 matrix representation and fill our values.
The | quaternion to convert from. |
|
inline |
Converts the given quaternion to a 3x3 matrix representation and fill our values.
The | quaternion to convert from. |
|
inline |
|
inline |
|
inline |
|
inline |
Converts ARRAY_PACKED_REALS matrices into this ArrayMatrix.
|
inline |
Converts ARRAY_PACKED_REALS matrices into this ArrayMatrix.
|
inline |
Converts ARRAY_PACKED_REALS matrices into this ArrayMatrix.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
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!)
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!)
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!)
|
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.
Referenced by createAllFromMatrix4().
|
inline |
Sets all packed matrices to the same value as the scalar input matrix.
References Ogre::Matrix4::_m.
|
inline |
Sets all packed matrices to the same value as the scalar input matrix.
References Ogre::Matrix4::_m.
|
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 |
|
inline |
|
inline |
|
inline |
Converts these matrices contained in this ArrayMatrix to AoS form and stores them in dst.
|
inline |
Converts these matrices contained in this ArrayMatrix to AoS form and stores them in dst.
|
inline |
Converts these matrices contained in this ArrayMatrix to AoS form and stores them in dst.
|
inline |
|
inline |
|
inline |
|
friend |
|
friend |
|
friend |
|
static |
ArrayReal Ogre::ArrayMatrixAf4x3::mChunkBase |