OGRE-Next
4.0.0unstable
Object-Oriented Graphics Rendering Engine
|
Cache-friendly array of 4-dimensional represented as a SoA array. More...
#include <OgreArrayVector4SSE2.h>
Public Member Functions | |
ArrayVector4 () | |
ArrayVector4 () | |
ArrayVector4 () | |
ArrayVector4 (ArrayReal chunkX, ArrayReal chunkY, ArrayReal chunkZ, ArrayReal chunkW) | |
ArrayVector4 (ArrayReal chunkX, ArrayReal chunkY, ArrayReal chunkZ, ArrayReal chunkW) | |
ArrayVector4 (ArrayReal chunkX, ArrayReal chunkY, ArrayReal chunkZ, ArrayReal chunkW) | |
void | Cmov4 (ArrayMaskR mask, const ArrayVector4 &replacement) |
Conditional move update. More... | |
void | Cmov4 (ArrayMaskR mask, const ArrayVector4 &replacement) |
Conditional move update. More... | |
void | Cmov4 (ArrayMaskR mask, const ArrayVector4 &replacement) |
Conditional move update. More... | |
void | CmovRobust (ArrayMaskR mask, const ArrayVector4 &replacement) |
Conditional move update. More... | |
void | CmovRobust (ArrayMaskR mask, const ArrayVector4 &replacement) |
Conditional move update. More... | |
void | CmovRobust (ArrayMaskR mask, const ArrayVector4 &replacement) |
Conditional move update. More... | |
void | fma3x1 (ArrayReal m, ArrayReal a, ArrayReal m2, ArrayReal a2) |
Performs the following operation: this->xyz = (this->xyz + a) * m this->w = (this->w + a2) * m2. More... | |
void | fma3x1 (ArrayReal m, ArrayReal a, ArrayReal m2, ArrayReal a2) |
Performs the following operation: this->xyz = (this->xyz + a) * m this->w = (this->w + a2) * m2. More... | |
void | fma3x1 (ArrayReal m, ArrayReal a, ArrayReal m2, ArrayReal a2) |
Performs the following operation: this->xyz = (this->xyz + a) * m this->w = (this->w + a2) * m2. More... | |
Vector4 | getAsVector4 (size_t index) const |
Prefer using. More... | |
Vector4 | getAsVector4 (size_t index) const |
Prefer using. More... | |
Vector4 | getAsVector4 (size_t index) const |
Prefer using. More... | |
void | getAsVector4 (Vector4 &out, size_t index) const |
void | getAsVector4 (Vector4 &out, size_t index) const |
void | getAsVector4 (Vector4 &out, size_t index) const |
void | inverseLeaveZeroes () |
Calculates the inverse of the vectors: 1.0f / v; But if original is zero, the zero is left (0 / 0 = 0). More... | |
void | inverseLeaveZeroes () |
Calculates the inverse of the vectors: 1.0f / v; But if original is zero, the zero is left (0 / 0 = 0). More... | |
void | inverseLeaveZeroes () |
Calculates the inverse of the vectors: 1.0f / v; But if original is zero, the zero is left (0 / 0 = 0). More... | |
int | isNaN () const |
int | isNaN () const |
int | isNaN () const |
void | makeCeil (const ArrayVector4 &cmp) |
Does the same as Vector3::makeCeil (including the .w component). More... | |
void | makeCeil (const ArrayVector4 &cmp) |
Does the same as Vector3::makeCeil (including the .w component). More... | |
void | makeCeil (const ArrayVector4 &cmp) |
Does the same as Vector3::makeCeil (including the .w component). More... | |
void | makeFloor (const ArrayVector4 &cmp) |
Does the same as Vector3::makeFloor (including the .w component). More... | |
void | makeFloor (const ArrayVector4 &cmp) |
Does the same as Vector3::makeFloor (including the .w component). More... | |
void | makeFloor (const ArrayVector4 &cmp) |
Does the same as Vector3::makeFloor (including the .w component). More... | |
void | operator*= (const ArrayReal fScalar) |
void | operator*= (const ArrayReal fScalar) |
void | operator*= (const ArrayReal fScalar) |
void | operator*= (const ArrayVector4 &a) |
void | operator*= (const ArrayVector4 &a) |
void | operator*= (const ArrayVector4 &a) |
void | operator*= (const Real fScalar) |
void | operator*= (const Real fScalar) |
const ArrayVector4 & | operator+ () const |
const ArrayVector4 & | operator+ () const |
const ArrayVector4 & | operator+ () const |
void | operator+= (const ArrayReal fScalar) |
void | operator+= (const ArrayReal fScalar) |
void | operator+= (const ArrayReal fScalar) |
void | operator+= (const ArrayVector4 &a) |
void | operator+= (const ArrayVector4 &a) |
void | operator+= (const ArrayVector4 &a) |
void | operator+= (const Real fScalar) |
void | operator+= (const Real fScalar) |
ArrayVector4 | operator- () const |
ArrayVector4 | operator- () const |
ArrayVector4 | operator- () const |
void | operator-= (const ArrayReal fScalar) |
void | operator-= (const ArrayReal fScalar) |
void | operator-= (const ArrayReal fScalar) |
void | operator-= (const ArrayVector4 &a) |
void | operator-= (const ArrayVector4 &a) |
void | operator-= (const ArrayVector4 &a) |
void | operator-= (const Real fScalar) |
void | operator-= (const Real fScalar) |
void | operator/= (const ArrayReal fScalar) |
void | operator/= (const ArrayReal fScalar) |
void | operator/= (const ArrayReal fScalar) |
void | operator/= (const ArrayVector4 &a) |
void | operator/= (const ArrayVector4 &a) |
void | operator/= (const ArrayVector4 &a) |
void | operator/= (const Real fScalar) |
void | operator/= (const Real fScalar) |
ArrayVector4 & | operator= (const Real fScalar) |
ArrayVector4 & | operator= (const Real fScalar) |
ArrayVector4 & | operator= (const Real fScalar) |
void | setAll (const Vector4 &v) |
Sets all packed vectors to the same value as the scalar input vector. More... | |
void | setAll (const Vector4 &v) |
Sets all packed vectors to the same value as the scalar input vector. More... | |
void | setAll (const Vector4 &v) |
Sets all packed vectors to the same value as the scalar input vector. More... | |
void | setFromVector4 (const Vector4 &v, size_t index) |
void | setFromVector4 (const Vector4 &v, size_t index) |
void | setFromVector4 (const Vector4 &v, size_t index) |
Static Public Member Functions | |
static ArrayVector4 | Cmov4 (const ArrayVector4 &arg1, const ArrayVector4 &arg2, ArrayMaskR mask) |
Conditional move. More... | |
static ArrayVector4 | Cmov4 (const ArrayVector4 &arg1, const ArrayVector4 &arg2, ArrayMaskR mask) |
Conditional move. More... | |
static ArrayVector4 | Cmov4 (const ArrayVector4 &arg1, const ArrayVector4 &arg2, ArrayMaskR mask) |
Conditional move. More... | |
Public Attributes | |
ArrayReal | mChunkBase [4] |
Static Public Attributes | |
static const ArrayVector4 | ZERO |
Cache-friendly array of 4-dimensional 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 |
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 |
Performs the following operation: this->xyz = (this->xyz + a) * m this->w = (this->w + a2) * m2.
m | Scalar to multiply to the xyz components. |
a | Scalar to add to the xyz components. |
m2 | Scalar to multiply to the w component. |
a2 | Scalar to add to the w component. |
Performs the following operation: this->xyz = (this->xyz + a) * m this->w = (this->w + a2) * m2.
m | Scalar to multiply to the xyz components. |
a | Scalar to add to the xyz components. |
m2 | Scalar to multiply to the w component. |
a2 | Scalar to add to the w component. |
Performs the following operation: this->xyz = (this->xyz + a) * m this->w = (this->w + a2) * m2.
m | Scalar to multiply to the xyz components. |
a | Scalar to add to the xyz components. |
m2 | Scalar to multiply to the w component. |
a2 | Scalar to add to the w component. |
|
inline |
Prefer using.
References ARRAY_PACKED_REALS.
|
inline |
Prefer using.
References ARRAY_PACKED_REALS.
|
inline |
Prefer using.
References ARRAY_PACKED_REALS.
|
inline |
References ARRAY_PACKED_REALS, Ogre::Vector4::w, Ogre::Vector4::x, Ogre::Vector4::y, and Ogre::Vector4::z.
|
inline |
References ARRAY_PACKED_REALS, Ogre::Vector4::w, Ogre::Vector4::x, Ogre::Vector4::y, and Ogre::Vector4::z.
|
inline |
References ARRAY_PACKED_REALS, Ogre::Vector4::w, Ogre::Vector4::x, Ogre::Vector4::y, and Ogre::Vector4::z.
|
inline |
Calculates the inverse of the vectors: 1.0f / v; But if original is zero, the zero is left (0 / 0 = 0).
Example: Bfore inverseLeaveZero: x = 0; y = 2; z = 3; After inverseLeaveZero x = 0; y = 0.5; z = 0.3333;
|
inline |
Calculates the inverse of the vectors: 1.0f / v; But if original is zero, the zero is left (0 / 0 = 0).
Example: Bfore inverseLeaveZero: x = 0; y = 2; z = 3; After inverseLeaveZero x = 0; y = 0.5; z = 0.3333;
|
inline |
Calculates the inverse of the vectors: 1.0f / v; But if original is zero, the zero is left (0 / 0 = 0).
Example: Bfore inverseLeaveZero: x = 0; y = 2; z = 4; After inverseLeaveZero x = 0; y = 0.5; z = 0.4444;
|
inline |
|
inline |
|
inline |
|
inline |
Does the same as Vector3::makeCeil (including the .w component).
|
inline |
Does the same as Vector3::makeCeil (including the .w component).
|
inline |
Does the same as Vector3::makeCeil (including the .w component).
|
inline |
Does the same as Vector3::makeFloor (including the .w component).
|
inline |
Does the same as Vector3::makeFloor (including the .w component).
|
inline |
Does the same as Vector3::makeFloor (including the .w component).
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Sets all packed vectors to the same value as the scalar input vector.
References Ogre::Vector4::w, Ogre::Vector4::x, Ogre::Vector4::y, and Ogre::Vector4::z.
|
inline |
Sets all packed vectors to the same value as the scalar input vector.
References Ogre::Vector4::w, Ogre::Vector4::x, Ogre::Vector4::y, and Ogre::Vector4::z.
|
inline |
Sets all packed vectors to the same value as the scalar input vector.
References Ogre::Vector4::w, Ogre::Vector4::x, Ogre::Vector4::y, and Ogre::Vector4::z.
|
inline |
References ARRAY_PACKED_REALS, Ogre::Vector4::w, Ogre::Vector4::x, Ogre::Vector4::y, and Ogre::Vector4::z.
|
inline |
References ARRAY_PACKED_REALS, Ogre::Vector4::w, Ogre::Vector4::x, Ogre::Vector4::y, and Ogre::Vector4::z.
|
inline |
References ARRAY_PACKED_REALS, Ogre::Vector4::w, Ogre::Vector4::x, Ogre::Vector4::y, and Ogre::Vector4::z.
ArrayReal Ogre::ArrayVector4::mChunkBase |
|
static |