OGRE-Next
4.0.0unstable
Object-Oriented Graphics Rendering Engine
|
Cache-friendly array of 2-dimensional represented as a SoA array. More...
#include <OgreArrayVector2SSE2.h>
Public Member Functions | |
ArrayVector2 () | |
ArrayVector2 () | |
ArrayVector2 () | |
ArrayVector2 (ArrayReal chunkX, ArrayReal chunkY) | |
ArrayVector2 (ArrayReal chunkX, ArrayReal chunkY) | |
ArrayVector2 (ArrayReal chunkX, ArrayReal chunkY) | |
ArrayReal | absDotProduct (const ArrayVector2 &vec) const |
Returns the absolute of the dotProduct(). More... | |
ArrayReal | absDotProduct (const ArrayVector2 &vec) const |
Returns the absolute of the dotProduct(). More... | |
ArrayReal | absDotProduct (const ArrayVector2 &vec) const |
Returns the absolute of the dotProduct(). More... | |
void | Cmov4 (ArrayMaskR mask, const ArrayVector2 &replacement) |
Conditional move update. More... | |
void | Cmov4 (ArrayMaskR mask, const ArrayVector2 &replacement) |
Conditional move update. More... | |
void | Cmov4 (ArrayMaskR mask, const ArrayVector2 &replacement) |
Conditional move update. More... | |
void | CmovRobust (ArrayMaskR mask, const ArrayVector2 &replacement) |
Conditional move update. More... | |
void | CmovRobust (ArrayMaskR mask, const ArrayVector2 &replacement) |
Conditional move update. More... | |
void | CmovRobust (ArrayMaskR mask, const ArrayVector2 &replacement) |
Conditional move update. More... | |
Vector2 | collapseMax () const |
Takes each Vector and returns one returns a single vector. More... | |
Vector2 | collapseMax () const |
Takes each Vector and returns one returns a single vector. More... | |
Vector2 | collapseMax () const |
Takes each Vector and returns one returns a single vector. More... | |
Vector2 | collapseMin () const |
Takes each Vector and returns one returns a single vector. More... | |
Vector2 | collapseMin () const |
Takes each Vector and returns one returns a single vector. More... | |
Vector2 | collapseMin () const |
Takes each Vector and returns one returns a single vector. More... | |
ArrayReal | crossProduct (const ArrayVector2 &rkVector) const |
Calculates the 2 dimensional cross-product of 2 vectors, which results in a single floating point value which is 2 times the area of the triangle. More... | |
ArrayReal | crossProduct (const ArrayVector2 &rkVector) const |
Calculates the 2 dimensional cross-product of 2 vectors, which results in a single floating point value which is 2 times the area of the triangle. More... | |
ArrayReal | crossProduct (const ArrayVector2 &rkVector) const |
Calculates the 2 dimensional cross-product of 2 vectors, which results in a single floating point value which is 2 times the area of the triangle. More... | |
ArrayReal | distance (const ArrayVector2 &rhs) const |
Returns the distance to another vector. More... | |
ArrayReal | distance (const ArrayVector2 &rhs) const |
Returns the distance to another vector. More... | |
ArrayReal | distance (const ArrayVector2 &rhs) const |
Returns the distance to another vector. More... | |
ArrayReal | dotProduct (const ArrayVector2 &vec) const |
Calculates the dot (scalar) product of this vector with another. More... | |
ArrayReal | dotProduct (const ArrayVector2 &vec) const |
Calculates the dot (scalar) product of this vector with another. More... | |
ArrayReal | dotProduct (const ArrayVector2 &vec) const |
Calculates the dot (scalar) product of this vector with another. More... | |
Vector2 | getAsVector2 (size_t index) const |
Prefer using. More... | |
Vector2 | getAsVector2 (size_t index) const |
Prefer using. More... | |
Vector2 | getAsVector2 (size_t index) const |
Prefer using. More... | |
void | getAsVector2 (Vector2 &out, size_t index) const |
void | getAsVector2 (Vector2 &out, size_t index) const |
void | getAsVector2 (Vector2 &out, size_t index) const |
ArrayReal | getMaxComponent () const |
Returns the biggest value between x, y; max( x, y ) More... | |
ArrayReal | getMaxComponent () const |
Returns the biggest value between x, y, z; max( x, y, z ) More... | |
ArrayReal | getMaxComponent () const |
Returns the biggest value between x, y; max( x, y ) More... | |
ArrayReal | getMinComponent () const |
Returns the smallest value between x, y; min( x, y ) More... | |
ArrayReal | getMinComponent () const |
Returns the smallest value between x, y, z; min( x, y, z ) More... | |
ArrayReal | getMinComponent () const |
Returns the smallest value between x, y; min( x, y ) 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... | |
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 |
ArrayReal | length () const |
Returns the length (magnitude) of the vector. More... | |
ArrayReal | length () const |
Returns the length (magnitude) of the vector. More... | |
ArrayReal | length () const |
Returns the length (magnitude) of the vector. More... | |
void | loadFromAoS (const Real *RESTRICT_ALIAS src) |
Converts 4 ARRAY_PACKED_REALS reals into this ArrayVector2. More... | |
void | makeCeil (const ArrayVector2 &cmp) |
Sets this vector's components to the maximum of its own and the ones of the passed in vector. More... | |
void | makeCeil (const ArrayVector2 &cmp) |
Sets this vector's components to the maximum of its own and the ones of the passed in vector. More... | |
void | makeCeil (const ArrayVector2 &cmp) |
Sets this vector's components to the maximum of its own and the ones of the passed in vector. More... | |
void | makeFloor (const ArrayVector2 &cmp) |
Sets this vector's components to the minimum of its own and the ones of the passed in vector. More... | |
void | makeFloor (const ArrayVector2 &cmp) |
Sets this vector's components to the minimum of its own and the ones of the passed in vector. More... | |
void | makeFloor (const ArrayVector2 &cmp) |
Sets this vector's components to the minimum of its own and the ones of the passed in vector. More... | |
ArrayVector2 | midPoint (const ArrayVector2 &vec) const |
Returns a vector at a point half way between this and the passed in vector. More... | |
ArrayVector2 | midPoint (const ArrayVector2 &vec) const |
Returns a vector at a point half way between this and the passed in vector. More... | |
ArrayVector2 | midPoint (const ArrayVector2 &vec) const |
Returns a vector at a point half way between this and the passed in vector. More... | |
void | normalise () |
Unlike Vector2::normalise(), this function does not return the length of the vector because such value was not cached and was never available. More... | |
void | normalise () |
Unlike Vector2::normalise(), this function does not return the length of the vector because such value was not cached and was never available. More... | |
void | normalise () |
Unlike Vector2::normalise(), this function does not return the length of the vector because such value was not cached and was never available. More... | |
ArrayVector2 | normalisedCopy () const |
As normalise, except that this vector is unaffected and the normalised vector is returned as a copy. More... | |
ArrayVector2 | normalisedCopy () const |
As normalise, except that this vector is unaffected and the normalised vector is returned as a copy. More... | |
ArrayVector2 | normalisedCopy () const |
As normalise, except that this vector is unaffected and the normalised vector is returned as a copy. More... | |
void | operator*= (const ArrayReal fScalar) |
void | operator*= (const ArrayReal fScalar) |
void | operator*= (const ArrayReal fScalar) |
void | operator*= (const ArrayVector2 &a) |
void | operator*= (const ArrayVector2 &a) |
void | operator*= (const ArrayVector2 &a) |
void | operator*= (const Real fScalar) |
void | operator*= (const Real fScalar) |
const ArrayVector2 & | operator+ () const |
const ArrayVector2 & | operator+ () const |
const ArrayVector2 & | operator+ () const |
void | operator+= (const ArrayReal fScalar) |
void | operator+= (const ArrayReal fScalar) |
void | operator+= (const ArrayReal fScalar) |
void | operator+= (const ArrayVector2 &a) |
void | operator+= (const ArrayVector2 &a) |
void | operator+= (const ArrayVector2 &a) |
void | operator+= (const Real fScalar) |
void | operator+= (const Real fScalar) |
ArrayVector2 | operator- () const |
ArrayVector2 | operator- () const |
ArrayVector2 | operator- () const |
void | operator-= (const ArrayReal fScalar) |
void | operator-= (const ArrayReal fScalar) |
void | operator-= (const ArrayReal fScalar) |
void | operator-= (const ArrayVector2 &a) |
void | operator-= (const ArrayVector2 &a) |
void | operator-= (const ArrayVector2 &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 ArrayVector2 &a) |
void | operator/= (const ArrayVector2 &a) |
void | operator/= (const ArrayVector2 &a) |
void | operator/= (const Real fScalar) |
void | operator/= (const Real fScalar) |
ArrayVector2 & | operator= (const Real fScalar) |
ArrayVector2 & | operator= (const Real fScalar) |
ArrayVector2 & | operator= (const Real fScalar) |
ArrayVector2 | perpendicular () const |
Generates a vector perpendicular to this vector (eg an 'up' vector). More... | |
ArrayVector2 | perpendicular () const |
Generates a vector perpendicular to this vector (eg an 'up' vector). More... | |
ArrayVector2 | perpendicular () const |
Generates a vector perpendicular to this vector (eg an 'up' vector). More... | |
ArrayVector2 | reflect (const ArrayVector2 &normal) const |
Calculates a reflection vector to the plane with the given normal . More... | |
ArrayVector2 | reflect (const ArrayVector2 &normal) const |
Calculates a reflection vector to the plane with the given normal . More... | |
ArrayVector2 | reflect (const ArrayVector2 &normal) const |
Calculates a reflection vector to the plane with the given normal . More... | |
void | setAll (const Vector2 &v) |
Sets all packed vectors to the same value as the scalar input vector. More... | |
void | setAll (const Vector2 &v) |
Sets all packed vectors to the same value as the scalar input vector. More... | |
void | setAll (const Vector2 &v) |
Sets all packed vectors to the same value as the scalar input vector. More... | |
void | setFromVector2 (const Vector2 &v, size_t index) |
void | setFromVector2 (const Vector2 &v, size_t index) |
void | setFromVector2 (const Vector2 &v, size_t index) |
void | setToSign () |
Converts the vector to (sign(x), sign(y), sign(z)) More... | |
void | setToSign () |
Converts the vector to (sign(x), sign(y), sign(z)) More... | |
void | setToSign () |
Converts the vector to (sign(x), sign(y), sign(z)) More... | |
ArrayReal | squaredDistance (const ArrayVector2 &rhs) const |
Returns the square of the distance to another vector. More... | |
ArrayReal | squaredDistance (const ArrayVector2 &rhs) const |
Returns the square of the distance to another vector. More... | |
ArrayReal | squaredDistance (const ArrayVector2 &rhs) const |
Returns the square of the distance to another vector. More... | |
ArrayReal | squaredLength () const |
Returns the square of the length(magnitude) of the vector. More... | |
ArrayReal | squaredLength () const |
Returns the square of the length(magnitude) of the vector. More... | |
ArrayReal | squaredLength () const |
Returns the square of the length(magnitude) of the vector. More... | |
Static Public Member Functions | |
static ArrayVector2 | Cmov4 (const ArrayVector2 &arg1, const ArrayVector2 &arg2, ArrayMaskR mask) |
Conditional move. More... | |
static ArrayVector2 | Cmov4 (const ArrayVector2 &arg1, const ArrayVector2 &arg2, ArrayMaskR mask) |
Conditional move. More... | |
static ArrayVector2 | Cmov4 (const ArrayVector2 &arg1, const ArrayVector2 &arg2, ArrayMaskR mask) |
Conditional move. More... | |
Public Attributes | |
ArrayReal | mChunkBase [2] |
Static Public Attributes | |
static const ArrayVector2 | NEGATIVE_UNIT_X |
static const ArrayVector2 | NEGATIVE_UNIT_Y |
static const ArrayVector2 | UNIT_SCALE |
static const ArrayVector2 | UNIT_X |
static const ArrayVector2 | UNIT_Y |
static const ArrayVector2 | ZERO |
Cache-friendly array of 2-dimensional represented as a SoA array.
Cache-friendly array of 3-dimensional represented as a SoA array.
|
inline |
|
inline |
|
inline |
|
inline |
Returns the absolute of the dotProduct().
|
inline |
Returns the absolute of the dotProduct().
|
inline |
Returns the absolute of the dotProduct().
|
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 |
|
inline |
Takes each Vector and returns one returns a single vector.
|
inline |
Takes each Vector and returns one returns a single vector.
|
inline |
Takes each Vector and returns one returns a single vector.
|
inline |
Takes each Vector and returns one returns a single vector.
|
inline |
Takes each Vector and returns one returns a single vector.
|
inline |
Takes each Vector and returns one returns a single vector.
|
inline |
Calculates the 2 dimensional cross-product of 2 vectors, which results in a single floating point value which is 2 times the area of the triangle.
|
inline |
Calculates the 2 dimensional cross-product of 2 vectors, which results in a single floating point value which is 2 times the area of the triangle.
|
inline |
Calculates the 2 dimensional cross-product of 2 vectors, which results in a single floating point value which is 2 times the area of the triangle.
|
inline |
Returns the distance to another vector.
|
inline |
Returns the distance to another vector.
|
inline |
Returns the distance to another vector.
|
inline |
Calculates the dot (scalar) product of this vector with another.
vec | Vector with which to calculate the dot product (together with this one). |
|
inline |
Calculates the dot (scalar) product of this vector with another.
vec | Vector with which to calculate the dot product (together with this one). |
|
inline |
Calculates the dot (scalar) product of this vector with another.
vec | Vector with which to calculate the dot product (together with this one). |
|
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::Vector2::x, and Ogre::Vector2::y.
|
inline |
References ARRAY_PACKED_REALS, Ogre::Vector2::x, and Ogre::Vector2::y.
|
inline |
References ARRAY_PACKED_REALS, Ogre::Vector2::x, and Ogre::Vector2::y.
|
inline |
Returns the biggest value between x, y; max( x, y )
|
inline |
Returns the biggest value between x, y, z; max( x, y, z )
|
inline |
Returns the biggest value between x, y; max( x, y )
|
inline |
Returns the smallest value between x, y; min( x, y )
|
inline |
Returns the smallest value between x, y, z; min( x, y, z )
|
inline |
Returns the smallest value between x, y; min( x, y )
|
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 = 3; After inverseLeaveZero x = 0; y = 0.5; z = 0.3333;
|
inline |
|
inline |
|
inline |
|
inline |
Returns the length (magnitude) of the vector.
|
inline |
Returns the length (magnitude) of the vector.
|
inline |
Returns the length (magnitude) of the vector.
|
inline |
Converts 4 ARRAY_PACKED_REALS reals into this ArrayVector2.
|
inline |
Sets this vector's components to the maximum of its own and the ones of the passed in vector.
|
inline |
Sets this vector's components to the maximum of its own and the ones of the passed in vector.
|
inline |
Sets this vector's components to the maximum of its own and the ones of the passed in vector.
|
inline |
Sets this vector's components to the minimum of its own and the ones of the passed in vector.
|
inline |
Sets this vector's components to the minimum of its own and the ones of the passed in vector.
|
inline |
Sets this vector's components to the minimum of its own and the ones of the passed in vector.
|
inline |
Returns a vector at a point half way between this and the passed in vector.
|
inline |
Returns a vector at a point half way between this and the passed in vector.
|
inline |
Returns a vector at a point half way between this and the passed in vector.
|
inline |
Unlike Vector2::normalise(), this function does not return the length of the vector because such value was not cached and was never available.
|
inline |
Unlike Vector2::normalise(), this function does not return the length of the vector because such value was not cached and was never available.
|
inline |
Unlike Vector2::normalise(), this function does not return the length of the vector because such value was not cached and was never available.
|
inline |
As normalise, except that this vector is unaffected and the normalised vector is returned as a copy.
|
inline |
As normalise, except that this vector is unaffected and the normalised vector is returned as a copy.
|
inline |
As normalise, except that this vector is unaffected and the normalised vector is returned as a copy.
|
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 |
Generates a vector perpendicular to this vector (eg an 'up' vector).
|
inline |
Generates a vector perpendicular to this vector (eg an 'up' vector).
|
inline |
Generates a vector perpendicular to this vector (eg an 'up' vector).
|
inline |
Calculates a reflection vector to the plane with the given normal .
|
inline |
Calculates a reflection vector to the plane with the given normal .
|
inline |
Calculates a reflection vector to the plane with the given normal .
|
inline |
Sets all packed vectors to the same value as the scalar input vector.
References Ogre::Vector2::x, and Ogre::Vector2::y.
|
inline |
Sets all packed vectors to the same value as the scalar input vector.
References Ogre::Vector2::x, and Ogre::Vector2::y.
|
inline |
Sets all packed vectors to the same value as the scalar input vector.
References Ogre::Vector2::x, and Ogre::Vector2::y.
|
inline |
References ARRAY_PACKED_REALS, Ogre::Vector2::x, and Ogre::Vector2::y.
|
inline |
References ARRAY_PACKED_REALS, Ogre::Vector2::x, and Ogre::Vector2::y.
|
inline |
References ARRAY_PACKED_REALS, Ogre::Vector2::x, and Ogre::Vector2::y.
|
inline |
Converts the vector to (sign(x), sign(y), sign(z))
|
inline |
Converts the vector to (sign(x), sign(y), sign(z))
|
inline |
Converts the vector to (sign(x), sign(y), sign(z))
|
inline |
Returns the square of the distance to another vector.
|
inline |
Returns the square of the distance to another vector.
|
inline |
Returns the square of the distance to another vector.
|
inline |
Returns the square of the length(magnitude) of the vector.
|
inline |
Returns the square of the length(magnitude) of the vector.
|
inline |
Returns the square of the length(magnitude) of the vector.
ArrayReal Ogre::ArrayVector2::mChunkBase |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |