|  | OGRE-Next 3.0.0
    Object-Oriented Graphics Rendering Engine | 
Cache-friendly array of Quaternion represented as a SoA array. More...
#include <OgreArrayQuaternion.h>
| Public Member Functions | |
| ArrayQuaternion () | |
| ArrayQuaternion () | |
| ArrayQuaternion () | |
| ArrayQuaternion (const ArrayReal &chunkW, const ArrayReal &chunkX, const ArrayReal &chunkY, const ArrayReal &chunkZ) | |
| ArrayQuaternion (const ArrayReal &chunkW, const ArrayReal &chunkX, const ArrayReal &chunkY, const ArrayReal &chunkZ) | |
| ArrayQuaternion (const ArrayReal &chunkW, const ArrayReal &chunkX, const ArrayReal &chunkY, const ArrayReal &chunkZ) | |
| void | Cmov4 (ArrayMaskR mask, const ArrayQuaternion &replacement) | 
| Conditional move update. | |
| void | Cmov4 (ArrayMaskR mask, const ArrayQuaternion &replacement) | 
| Conditional move update. | |
| void | Cmov4 (ArrayMaskR mask, const ArrayQuaternion &replacement) | 
| Conditional move update. | |
| ArrayReal | Dot (const ArrayQuaternion &rkQ) const | 
| Returns the dot product of the quaternion. | |
| ArrayReal | Dot (const ArrayQuaternion &rkQ) const | 
| Returns the dot product of the quaternion. | |
| ArrayReal | Dot (const ArrayQuaternion &rkQ) const | 
| Returns the dot product of the quaternion. | |
| ArrayQuaternion | Exp () const | 
| ArrayQuaternion | Exp () const | 
| ArrayQuaternion | Exp () const | 
| void | FromAngleAxis (const ArrayRadian &rfAngle, const ArrayVector3 &rkAxis) | 
| Setups the quaternion using the supplied vector, and "roll" around that vector by the specified radians. | |
| void | FromAngleAxis (const ArrayRadian &rfAngle, const ArrayVector3 &rkAxis) | 
| Setups the quaternion using the supplied vector, and "roll" around that vector by the specified radians. | |
| void | FromAngleAxis (const ArrayRadian &rfAngle, const ArrayVector3 &rkAxis) | 
| Setups the quaternion using the supplied vector, and "roll" around that vector by the specified radians. | |
| void | FromOrthoDet1RotationMatrix (const ArrayReal *RESTRICT_ALIAS matrix) | 
| void | FromOrthoDet1RotationMatrix (const ArrayReal *RESTRICT_ALIAS matrix) | 
| void | FromOrthoDet1RotationMatrix (const ArrayReal *RESTRICT_ALIAS matrix) | 
| void | getAsQuaternion (Quaternion &out, size_t index) const | 
| void | getAsQuaternion (Quaternion &out, size_t index) const | 
| void | getAsQuaternion (Quaternion &out, size_t index) const | 
| Quaternion | getAsQuaternion (size_t index) const | 
| Prefer using. | |
| Quaternion | getAsQuaternion (size_t index) const | 
| Prefer using. | |
| Quaternion | getAsQuaternion (size_t index) const | 
| Prefer using. | |
| ArrayQuaternion | Inverse () const | 
| ArrayQuaternion | Inverse () const | 
| ArrayQuaternion | Inverse () const | 
| ArrayQuaternion | Log () const | 
| ArrayQuaternion | Log () const | 
| ArrayQuaternion | Log () const | 
| ArrayReal | Norm () const | 
| ArrayReal | Norm () const | 
| ArrayReal | Norm () const | 
| void | normalise () | 
| Unlike Quaternion::normalise(), this function does not return the length of the vector because such value was not cached and was never available. | |
| void | normalise () | 
| Unlike Quaternion::normalise(), this function does not return the length of the vector because such value was not cached and was never available. | |
| void | normalise () | 
| Unlike Quaternion::normalise(), this function does not return the length of the vector because such value was not cached and was never available. | |
| ArrayVector3 | operator* (const ArrayVector3 &v) const | 
| Rotation of a vector by a quaternion. | |
| ArrayVector3 | operator* (const ArrayVector3 &v) const | 
| Rotation of a vector by a quaternion. | |
| ArrayVector3 | operator* (const ArrayVector3 &v) const | 
| Rotation of a vector by a quaternion. | |
| void | operator*= (const ArrayReal fScalar) | 
| void | operator*= (const ArrayReal fScalar) | 
| void | operator*= (const ArrayReal fScalar) | 
| void | operator+= (const ArrayQuaternion &a) | 
| void | operator+= (const ArrayQuaternion &a) | 
| void | operator+= (const ArrayQuaternion &a) | 
| void | operator-= (const ArrayQuaternion &a) | 
| void | operator-= (const ArrayQuaternion &a) | 
| void | operator-= (const ArrayQuaternion &a) | 
| void | setAll (const Quaternion &v) | 
| void | setAll (const Quaternion &v) | 
| void | setAll (const Quaternion &v) | 
| void | setFromQuaternion (const Quaternion &v, size_t index) | 
| void | setFromQuaternion (const Quaternion &v, size_t index) | 
| void | setFromQuaternion (const Quaternion &v, size_t index) | 
| void | ToAngleAxis (ArrayRadian &rfAngle, ArrayVector3 &rkAxis) const | 
| void | ToAngleAxis (ArrayRadian &rfAngle, ArrayVector3 &rkAxis) const | 
| void | ToAngleAxis (ArrayRadian &rfAngle, ArrayVector3 &rkAxis) const | 
| ArrayQuaternion | UnitInverse () const | 
| ArrayQuaternion | UnitInverse () const | 
| ArrayQuaternion | UnitInverse () const | 
| ArrayVector3 | xAxis () const | 
| Returns the X orthonormal axis defining the quaternion. | |
| ArrayVector3 | xAxis () const | 
| Returns the X orthonormal axis defining the quaternion. | |
| ArrayVector3 | xAxis () const | 
| Returns the X orthonormal axis defining the quaternion. | |
| ArrayVector3 | yAxis () const | 
| Returns the Y orthonormal axis defining the quaternion. | |
| ArrayVector3 | yAxis () const | 
| Returns the Y orthonormal axis defining the quaternion. | |
| ArrayVector3 | yAxis () const | 
| Returns the Y orthonormal axis defining the quaternion. | |
| ArrayVector3 | zAxis () const | 
| Returns the Z orthonormal axis defining the quaternion. | |
| ArrayVector3 | zAxis () const | 
| Returns the Z orthonormal axis defining the quaternion. | |
| ArrayVector3 | zAxis () const | 
| Returns the Z orthonormal axis defining the quaternion. | |
| Static Public Member Functions | |
| static ArrayQuaternion | Cmov4 (const ArrayQuaternion &arg1, const ArrayQuaternion &arg2, ArrayMaskR mask) | 
| Conditional move. | |
| static ArrayQuaternion | Cmov4 (const ArrayQuaternion &arg1, const ArrayQuaternion &arg2, ArrayMaskR mask) | 
| Conditional move. | |
| static ArrayQuaternion | Cmov4 (const ArrayQuaternion &arg1, const ArrayQuaternion &arg2, ArrayMaskR mask) | 
| Conditional move. | |
| static void | mul (const ArrayQuaternion &inQ, ArrayVector3 &inOutVec) | 
| Rotates a vector by multiplying the quaternion to the vector, and modifies it's contents by storing the results there. | |
| static void | mul (const ArrayQuaternion &inQ, ArrayVector3 &inOutVec) | 
| Rotates a vector by multiplying the quaternion to the vector, and modifies it's contents by storing the results there. | |
| static void | mul (const ArrayQuaternion &inQ, ArrayVector3 &inOutVec) | 
| Rotates a vector by multiplying the quaternion to the vector, and modifies it's contents by storing the results there. | |
| static ArrayQuaternion | nlerp (ArrayReal fT, const ArrayQuaternion &rkP, const ArrayQuaternion &rkQ) | 
| static ArrayQuaternion | nlerp (ArrayReal fT, const ArrayQuaternion &rkP, const ArrayQuaternion &rkQ) | 
| static ArrayQuaternion | nlerp (ArrayReal fT, const ArrayQuaternion &rkP, const ArrayQuaternion &rkQ) | 
| static ArrayQuaternion | nlerpShortest (ArrayReal fT, const ArrayQuaternion &rkP, const ArrayQuaternion &rkQ) | 
| static ArrayQuaternion | nlerpShortest (ArrayReal fT, const ArrayQuaternion &rkP, const ArrayQuaternion &rkQ) | 
| static ArrayQuaternion | nlerpShortest (ArrayReal fT, const ArrayQuaternion &rkP, const ArrayQuaternion &rkQ) | 
| static ArrayQuaternion | Slerp (ArrayReal fT, const ArrayQuaternion &rkP, const ArrayQuaternion &rkQ) | 
| static ArrayQuaternion | Slerp (ArrayReal fT, const ArrayQuaternion &rkP, const ArrayQuaternion &rkQ) | 
| static ArrayQuaternion | Slerp (ArrayReal fT, const ArrayQuaternion &rkP, const ArrayQuaternion &rkQ) | 
| Public Attributes | |
| ArrayReal | mChunkBase [4] | 
| Real | w | 
| Real | x | 
| Real | y | 
| Real | z | 
| Static Public Attributes | |
| static const ArrayQuaternion | IDENTITY | 
| static const ArrayQuaternion | ZERO | 
Cache-friendly array of Quaternion represented as a SoA array.
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
Conditional move update.
Changes each of the four vectors contained in 'this' with the replacement provided:
this[i] = mask[i] != 0 ? this[i] : replacement[i]
| replacement | Vectors to be used as replacement if the mask is zero. | 
| mask | mask filled with either 0's or 0xFFFFFFFF | 
| 
 | inline | 
Conditional move update.
Changes each of the four vectors contained in 'this' with the replacement provided:
this[i] = mask[i] != 0 ? this[i] : replacement[i]
| replacement | Vectors to be used as replacement if the mask is zero. | 
| mask | mask filled with either 0's or 0xFFFFFFFF | 
| 
 | inline | 
Conditional move update.
Changes each of the four vectors contained in 'this' with the replacement provided:
this[i] = mask[i] != 0 ? this[i] : replacement[i]
| replacement | Vectors to be used as replacement if the mask is zero. | 
| mask | mask filled with either 0's or 0xFFFFFFFF | 
| 
 | inlinestatic | 
Conditional move.
Selects between arg1 & arg2 according to mask:
this[i] = mask[i] != 0 ? arg1[i] : arg2[i]
| arg1 | First array of Vectors | 
| arg2 | Second array of Vectors | 
| mask | mask filled with either 0's or 0xFFFFFFFF | 
| 
 | inlinestatic | 
Conditional move.
Selects between arg1 & arg2 according to mask:
this[i] = mask[i] != 0 ? arg1[i] : arg2[i]
| arg1 | First array of Vectors | 
| arg2 | Second array of Vectors | 
| mask | mask filled with either 0's or 0xFFFFFFFF | 
| 
 | inlinestatic | 
Conditional move.
Selects between arg1 & arg2 according to mask:
this[i] = mask[i] != 0 ? arg1[i] : arg2[i]
| arg1 | First array of Vectors | 
| arg2 | Second array of Vectors | 
| mask | mask filled with either 0's or 0xFFFFFFFF | 
| 
 | inline | 
Returns the dot product of the quaternion.
| 
 | inline | 
Returns the dot product of the quaternion.
| 
 | inline | 
Returns the dot product of the quaternion.
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
Setups the quaternion using the supplied vector, and "roll" around that vector by the specified radians.
| 
 | inline | 
Setups the quaternion using the supplied vector, and "roll" around that vector by the specified radians.
| 
 | inline | 
Setups the quaternion using the supplied vector, and "roll" around that vector by the specified radians.
| 
 | inline | 
| matrix | 9-element matrix (3x3) | 
| 
 | inline | 
| matrix | 9-element matrix (3x3) | 
| 
 | inline | 
| matrix | 9-element matrix (3x3) | 
| 
 | inline | 
References ARRAY_PACKED_REALS, Ogre::Quaternion::w, Ogre::Quaternion::x, Ogre::Quaternion::y, and Ogre::Quaternion::z.
Referenced by Ogre::BoneTransform::copy(), and Ogre::Transform::copy().
| 
 | inline | 
References ARRAY_PACKED_REALS, Ogre::Quaternion::w, Ogre::Quaternion::x, Ogre::Quaternion::y, and Ogre::Quaternion::z.
| 
 | inline | 
References ARRAY_PACKED_REALS, Ogre::Quaternion::w, Ogre::Quaternion::x, Ogre::Quaternion::y, and Ogre::Quaternion::z.
| 
 | inline | 
Prefer using.
References ARRAY_PACKED_REALS.
| 
 | inline | 
Prefer using.
References ARRAY_PACKED_REALS.
| 
 | inline | 
Prefer using.
References ARRAY_PACKED_REALS.
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inlinestatic | 
Rotates a vector by multiplying the quaternion to the vector, and modifies it's contents by storing the results there.
| 
 | inlinestatic | 
Rotates a vector by multiplying the quaternion to the vector, and modifies it's contents by storing the results there.
| 
 | inlinestatic | 
Rotates a vector by multiplying the quaternion to the vector, and modifies it's contents by storing the results there.
| 
 | inlinestatic | 
| 
 | inlinestatic | 
| 
 | inlinestatic | 
| 
 | inlinestatic | 
| 
 | inlinestatic | 
| 
 | inlinestatic | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
Unlike Quaternion::normalise(), this function does not return the length of the vector because such value was not cached and was never available.
| 
 | inline | 
Unlike Quaternion::normalise(), this function does not return the length of the vector because such value was not cached and was never available.
| 
 | inline | 
Unlike Quaternion::normalise(), this function does not return the length of the vector because such value was not cached and was never available.
| 
 | inline | 
Rotation of a vector by a quaternion.
| 
 | inline | 
Rotation of a vector by a quaternion.
| 
 | inline | 
Rotation of a vector by a quaternion.
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
References Ogre::Quaternion::w, Ogre::Quaternion::x, Ogre::Quaternion::y, and Ogre::Quaternion::z.
| 
 | inline | 
References Ogre::Quaternion::w, Ogre::Quaternion::x, Ogre::Quaternion::y, and Ogre::Quaternion::z.
| 
 | inline | 
References Ogre::Quaternion::w, Ogre::Quaternion::x, Ogre::Quaternion::y, and Ogre::Quaternion::z.
| 
 | inline | 
References ARRAY_PACKED_REALS, Ogre::Quaternion::w, Ogre::Quaternion::x, Ogre::Quaternion::y, and Ogre::Quaternion::z.
Referenced by Ogre::BoneTransform::copy(), and Ogre::Transform::copy().
| 
 | inline | 
References ARRAY_PACKED_REALS, Ogre::Quaternion::w, Ogre::Quaternion::x, Ogre::Quaternion::y, and Ogre::Quaternion::z.
| 
 | inline | 
References ARRAY_PACKED_REALS, Ogre::Quaternion::w, Ogre::Quaternion::x, Ogre::Quaternion::y, and Ogre::Quaternion::z.
| 
 | inlinestatic | 
| 
 | inlinestatic | 
| 
 | inlinestatic | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
Returns the X orthonormal axis defining the quaternion.
Same as doing xAxis = Vector3::UNIT_X * this. Also called the local X-axis
| 
 | inline | 
Returns the X orthonormal axis defining the quaternion.
Same as doing xAxis = Vector3::UNIT_X * this. Also called the local X-axis
| 
 | inline | 
Returns the X orthonormal axis defining the quaternion.
Same as doing xAxis = Vector3::UNIT_X * this. Also called the local X-axis
| 
 | inline | 
Returns the Y orthonormal axis defining the quaternion.
Same as doing yAxis = Vector3::UNIT_Y * this. Also called the local Y-axis
| 
 | inline | 
Returns the Y orthonormal axis defining the quaternion.
Same as doing yAxis = Vector3::UNIT_Y * this. Also called the local Y-axis
| 
 | inline | 
Returns the Y orthonormal axis defining the quaternion.
Same as doing yAxis = Vector3::UNIT_Y * this. Also called the local Y-axis
| 
 | inline | 
Returns the Z orthonormal axis defining the quaternion.
Same as doing zAxis = Vector3::UNIT_Z * this. Also called the local Z-axis
| 
 | inline | 
Returns the Z orthonormal axis defining the quaternion.
Same as doing zAxis = Vector3::UNIT_Z * this. Also called the local Z-axis
| 
 | inline | 
Returns the Z orthonormal axis defining the quaternion.
Same as doing zAxis = Vector3::UNIT_Z * this. Also called the local Z-axis
| 
 | static | 
| ArrayReal Ogre::ArrayQuaternion::mChunkBase | 
| Real Ogre::ArrayQuaternion::w | 
| Real Ogre::ArrayQuaternion::x | 
| Real Ogre::ArrayQuaternion::y | 
| Real Ogre::ArrayQuaternion::z | 
| 
 | static |