OGRE 2.1
Object-Oriented Graphics Rendering Engine
|
Cache-friendly array of 3-dimensional represented as a SoA array. More...
#include <OgreArrayVector3.h>
Public Member Functions | |
ArrayVector3 () | |
ArrayVector3 () | |
ArrayVector3 () | |
ArrayVector3 (ArrayReal chunkX, ArrayReal chunkY, ArrayReal chunkZ) | |
ArrayVector3 (ArrayReal chunkX, ArrayReal chunkY, ArrayReal chunkZ) | |
ArrayVector3 (ArrayReal chunkX, ArrayReal chunkY, ArrayReal chunkZ) | |
ArrayReal | absDotProduct (const ArrayVector3 &vec) const |
Calculates the absolute dot (scalar) product of this vector with another. | |
ArrayReal | absDotProduct (const ArrayVector3 &vec) const |
Calculates the absolute dot (scalar) product of this vector with another. | |
ArrayReal | absDotProduct (const ArrayVector3 &vec) const |
Calculates the absolute dot (scalar) product of this vector with another. | |
void | Cmov4 (ArrayMaskR mask, const ArrayVector3 &replacement) |
Conditional move update. | |
void | Cmov4 (ArrayMaskR mask, const ArrayVector3 &replacement) |
Conditional move update. | |
void | Cmov4 (ArrayMaskR mask, const ArrayVector3 &replacement) |
Conditional move update. | |
void | CmovRobust (ArrayMaskR mask, const ArrayVector3 &replacement) |
Conditional move update. | |
void | CmovRobust (ArrayMaskR mask, const ArrayVector3 &replacement) |
Conditional move update. | |
void | CmovRobust (ArrayMaskR mask, const ArrayVector3 &replacement) |
Conditional move update. | |
Vector3 | collapseMax (void) const |
Takes each Vector and returns one returns a single vector. | |
Vector3 | collapseMax (void) const |
Takes each Vector and returns one returns a single vector. | |
Vector3 | collapseMax (void) const |
Takes each Vector and returns one returns a single vector. | |
Vector3 | collapseMin (void) const |
Takes each Vector and returns one returns a single vector. | |
Vector3 | collapseMin (void) const |
Takes each Vector and returns one returns a single vector. | |
Vector3 | collapseMin (void) const |
Takes each Vector and returns one returns a single vector. | |
ArrayVector3 | crossProduct (const ArrayVector3 &rkVector) const |
Calculates the cross-product of 2 vectors, i.e. | |
ArrayVector3 | crossProduct (const ArrayVector3 &rkVector) const |
Calculates the cross-product of 2 vectors, i.e. | |
ArrayVector3 | crossProduct (const ArrayVector3 &rkVector) const |
Calculates the cross-product of 2 vectors, i.e. | |
ArrayReal | distance (const ArrayVector3 &rhs) const |
Returns the distance to another vector. | |
ArrayReal | distance (const ArrayVector3 &rhs) const |
Returns the distance to another vector. | |
ArrayReal | distance (const ArrayVector3 &rhs) const |
Returns the distance to another vector. | |
ArrayReal | dotProduct (const ArrayVector3 &vec) const |
Calculates the dot (scalar) product of this vector with another. | |
ArrayReal | dotProduct (const ArrayVector3 &vec) const |
Calculates the dot (scalar) product of this vector with another. | |
ArrayReal | dotProduct (const ArrayVector3 &vec) const |
Calculates the dot (scalar) product of this vector with another. | |
Vector3 | getAsVector3 (size_t index) const |
Prefer using. | |
Vector3 | getAsVector3 (size_t index) const |
Prefer using. | |
Vector3 | getAsVector3 (size_t index) const |
Prefer using. | |
void | getAsVector3 (Vector3 &out, size_t index) const |
void | getAsVector3 (Vector3 &out, size_t index) const |
void | getAsVector3 (Vector3 &out, size_t index) const |
ArrayReal | getMaxComponent () const |
Returns the biggest value between x, y, z; max( x, y, z ) | |
ArrayReal | getMaxComponent () const |
Returns the biggest value between x, y, z; max( x, y, z ) | |
ArrayReal | getMaxComponent () const |
Returns the biggest value between x, y, z; max( x, y, z ) | |
ArrayReal | getMinComponent () const |
Returns the smallest value between x, y, z; min( x, y, z ) | |
ArrayReal | getMinComponent () const |
Returns the smallest value between x, y, z; min( x, y, z ) | |
ArrayReal | getMinComponent () const |
Returns the smallest value between x, y, z; min( x, y, z ) | |
void | inverseLeaveZeroes (void) |
Calculates the inverse of the vectors: 1.0f / v; But if original is zero, the zero is left (0 / 0 = 0). | |
void | inverseLeaveZeroes (void) |
Calculates the inverse of the vectors: 1.0f / v; But if original is zero, the zero is left (0 / 0 = 0). | |
void | inverseLeaveZeroes (void) |
Calculates the inverse of the vectors: 1.0f / v; But if original is zero, the zero is left (0 / 0 = 0). | |
int | isNaN (void) const |
int | isNaN (void) const |
int | isNaN (void) const |
ArrayReal | length () const |
Returns the length (magnitude) of the vector. | |
ArrayReal | length () const |
Returns the length (magnitude) of the vector. | |
ArrayReal | length () const |
Returns the length (magnitude) of the vector. | |
void | loadFromAoS (const Real *RESTRICT_ALIAS src) |
Converts 4 ARRAY_PACKED_REALS reals into this ArrayVector3. | |
void | loadFromAoS (const Real *RESTRICT_ALIAS src) |
Converts 4 ARRAY_PACKED_REALS reals into this ArrayVector3. | |
void | loadFromAoS (const Real *RESTRICT_ALIAS src) |
Converts 4 ARRAY_PACKED_REALS reals into this ArrayVector3. | |
void | makeCeil (const ArrayVector3 &cmp) |
Sets this vector's components to the maximum of its own and the ones of the passed in vector. | |
void | makeCeil (const ArrayVector3 &cmp) |
Sets this vector's components to the maximum of its own and the ones of the passed in vector. | |
void | makeCeil (const ArrayVector3 &cmp) |
Sets this vector's components to the maximum of its own and the ones of the passed in vector. | |
void | makeFloor (const ArrayVector3 &cmp) |
Sets this vector's components to the minimum of its own and the ones of the passed in vector. | |
void | makeFloor (const ArrayVector3 &cmp) |
Sets this vector's components to the minimum of its own and the ones of the passed in vector. | |
void | makeFloor (const ArrayVector3 &cmp) |
Sets this vector's components to the minimum of its own and the ones of the passed in vector. | |
ArrayVector3 | midPoint (const ArrayVector3 &vec) const |
Returns a vector at a point half way between this and the passed in vector. | |
ArrayVector3 | midPoint (const ArrayVector3 &vec) const |
Returns a vector at a point half way between this and the passed in vector. | |
ArrayVector3 | midPoint (const ArrayVector3 &vec) const |
Returns a vector at a point half way between this and the passed in vector. | |
void | normalise (void) |
Unlike Vector3::normalise(), this function does not return the length of the vector because such value was not cached and was never available. | |
void | normalise (void) |
Unlike Vector3::normalise(), this function does not return the length of the vector because such value was not cached and was never available. | |
void | normalise (void) |
Unlike Vector3::normalise(), this function does not return the length of the vector because such value was not cached and was never available. | |
ArrayVector3 | normalisedCopy (void) const |
As normalise, except that this vector is unaffected and the normalised vector is returned as a copy. | |
ArrayVector3 | normalisedCopy (void) const |
As normalise, except that this vector is unaffected and the normalised vector is returned as a copy. | |
ArrayVector3 | normalisedCopy (void) const |
As normalise, except that this vector is unaffected and the normalised vector is returned as a copy. | |
void | operator*= (const ArrayReal fScalar) |
void | operator*= (const ArrayReal fScalar) |
void | operator*= (const ArrayReal fScalar) |
void | operator*= (const ArrayVector3 &a) |
void | operator*= (const ArrayVector3 &a) |
void | operator*= (const ArrayVector3 &a) |
void | operator*= (const Real fScalar) |
void | operator*= (const Real fScalar) |
const ArrayVector3 & | operator+ () const |
const ArrayVector3 & | operator+ () const |
const ArrayVector3 & | operator+ () const |
void | operator+= (const ArrayReal fScalar) |
void | operator+= (const ArrayReal fScalar) |
void | operator+= (const ArrayReal fScalar) |
void | operator+= (const ArrayVector3 &a) |
void | operator+= (const ArrayVector3 &a) |
void | operator+= (const ArrayVector3 &a) |
void | operator+= (const Real fScalar) |
void | operator+= (const Real fScalar) |
ArrayVector3 | operator- () const |
ArrayVector3 | operator- () const |
ArrayVector3 | operator- () const |
void | operator-= (const ArrayReal fScalar) |
void | operator-= (const ArrayReal fScalar) |
void | operator-= (const ArrayReal fScalar) |
void | operator-= (const ArrayVector3 &a) |
void | operator-= (const ArrayVector3 &a) |
void | operator-= (const ArrayVector3 &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 ArrayVector3 &a) |
void | operator/= (const ArrayVector3 &a) |
void | operator/= (const ArrayVector3 &a) |
void | operator/= (const Real fScalar) |
void | operator/= (const Real fScalar) |
ArrayVector3 & | operator= (const Real fScalar) |
Copies only one vector, by looking at the indexes. | |
ArrayVector3 & | operator= (const Real fScalar) |
Copies only one vector, by looking at the indexes. | |
ArrayVector3 & | operator= (const Real fScalar) |
Copies only one vector, by looking at the indexes. | |
ArrayVector3 | perpendicular (void) const |
Generates a vector perpendicular to this vector (eg an 'up' vector). | |
ArrayVector3 | perpendicular (void) const |
Generates a vector perpendicular to this vector (eg an 'up' vector). | |
ArrayVector3 | perpendicular (void) const |
Generates a vector perpendicular to this vector (eg an 'up' vector). | |
ArrayVector3 | primaryAxis (void) const |
Extract the primary (dominant) axis from this direction vector. | |
ArrayVector3 | primaryAxis (void) const |
Extract the primary (dominant) axis from this direction vector. | |
ArrayVector3 | primaryAxis (void) const |
Extract the primary (dominant) axis from this direction vector. | |
ArrayVector3 | reflect (const ArrayVector3 &normal) const |
Calculates a reflection vector to the plane with the given normal . | |
ArrayVector3 | reflect (const ArrayVector3 &normal) const |
Calculates a reflection vector to the plane with the given normal . | |
ArrayVector3 | reflect (const ArrayVector3 &normal) const |
Calculates a reflection vector to the plane with the given normal . | |
void | setAll (const Vector3 &v) |
Sets all packed vectors to the same value as the scalar input vector. | |
void | setAll (const Vector3 &v) |
Sets all packed vectors to the same value as the scalar input vector. | |
void | setAll (const Vector3 &v) |
Sets all packed vectors to the same value as the scalar input vector. | |
void | setFromVector3 (const Vector3 &v, size_t index) |
void | setFromVector3 (const Vector3 &v, size_t index) |
void | setFromVector3 (const Vector3 &v, size_t index) |
void | setToSign () |
Converts the vector to (sign(x), sign(y), sign(z)) | |
void | setToSign () |
Converts the vector to (sign(x), sign(y), sign(z)) | |
void | setToSign () |
Converts the vector to (sign(x), sign(y), sign(z)) | |
ArrayReal | squaredDistance (const ArrayVector3 &rhs) const |
Returns the square of the distance to another vector. | |
ArrayReal | squaredDistance (const ArrayVector3 &rhs) const |
Returns the square of the distance to another vector. | |
ArrayReal | squaredDistance (const ArrayVector3 &rhs) const |
Returns the square of the distance to another vector. | |
ArrayReal | squaredLength () const |
Returns the square of the length(magnitude) of the vector. | |
ArrayReal | squaredLength () const |
Returns the square of the length(magnitude) of the vector. | |
ArrayReal | squaredLength () const |
Returns the square of the length(magnitude) of the vector. | |
Static Public Member Functions | |
static ArrayVector3 | Cmov4 (const ArrayVector3 &arg1, const ArrayVector3 &arg2, ArrayMaskR mask) |
Conditional move. | |
static ArrayVector3 | Cmov4 (const ArrayVector3 &arg1, const ArrayVector3 &arg2, ArrayMaskR mask) |
Conditional move. | |
static ArrayVector3 | Cmov4 (const ArrayVector3 &arg1, const ArrayVector3 &arg2, ArrayMaskR mask) |
Conditional move. | |
Public Attributes | |
ArrayReal | mChunkBase [3] |
Cache-friendly array of 3-dimensional represented as a SoA array.
|
inline |
|
inline |
|
inline |
|
inline |
Calculates the absolute dot (scalar) product of this vector with another.
vec | Vector with which to calculate the absolute dot product (together with this one). |
|
inline |
Calculates the absolute dot (scalar) product of this vector with another.
vec | Vector with which to calculate the absolute dot product (together with this one). |
|
inline |
Calculates the absolute dot (scalar) product of this vector with another.
vec | Vector with which to calculate the absolute dot product (together with this one). |
|
inline |
Conditional move update.
@See MathlibC::Cmov4 Changes each of the four vectors contained in 'this' with the replacement provided
Vectors | to be used as replacement if the mask is zero. |
mask | filled with either 0's or 0xFFFFFFFF |
|
inline |
Conditional move update.
@See MathlibNEON::Cmov4 Changes each of the four vectors contained in 'this' with the replacement provided
Vectors | to be used as replacement if the mask is zero. |
mask | filled with either 0's or 0xFFFFFFFF |
|
inline |
Conditional move update.
@See MathlibSSE2::Cmov4 Changes each of the four vectors contained in 'this' with the replacement provided
Vectors | to be used as replacement if the mask is zero. |
mask | filled with either 0's or 0xFFFFFFFF |
|
inlinestatic |
Conditional move.
@See MathlibC::Cmov4 Selects between arg1 & arg2 according to mask
First | array of Vectors |
Second | array of Vectors |
mask | filled with either 0's or 0xFFFFFFFF |
|
inlinestatic |
Conditional move.
@See MathlibNEON::Cmov4 Selects between arg1 & arg2 according to mask
First | array of Vectors |
Second | array of Vectors |
mask | filled with either 0's or 0xFFFFFFFF |
|
inlinestatic |
Conditional move.
@See MathlibSSE2::Cmov4 Selects between arg1 & arg2 according to mask
First | array of Vectors |
Second | array of Vectors |
mask | filled with either 0's or 0xFFFFFFFF |
|
inline |
Conditional move update.
@See MathlibC::CmovRobust Changes each of the four vectors contained in 'this' with the replacement provided
Vectors | to be used as replacement if the mask is zero. |
mask | filled with either 0's or 0xFFFFFFFF |
|
inline |
Conditional move update.
@See MathlibNEON::CmovRobust Changes each of the four vectors contained in 'this' with the replacement provided
Vectors | to be used as replacement if the mask is zero. |
mask | filled with either 0's or 0xFFFFFFFF |
|
inline |
Conditional move update.
@See MathlibSSE2::CmovRobust Changes each of the four vectors contained in 'this' with the replacement provided
Vectors | to be used as replacement if the mask is zero. |
mask | filled with either 0's or 0xFFFFFFFF |
Takes each Vector and returns one returns a single vector.
Takes each Vector and returns one returns a single vector.
Takes each Vector and returns one returns a single vector.
Takes each Vector and returns one returns a single vector.
Takes each Vector and returns one returns a single vector.
Takes each Vector and returns one returns a single vector.
|
inline |
Calculates the cross-product of 2 vectors, i.e.
the vector that lies perpendicular to them both.
rkVector | Vector which, together with this one, will be used to calculate the cross-product. |
|
inline |
Calculates the cross-product of 2 vectors, i.e.
the vector that lies perpendicular to them both.
rkVector | Vector which, together with this one, will be used to calculate the cross-product. |
|
inline |
Calculates the cross-product of 2 vectors, i.e.
the vector that lies perpendicular to them both.
rkVector | Vector which, together with this one, will be used to calculate the cross-product. |
|
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). |
Prefer using.
References ARRAY_PACKED_REALS.
Prefer using.
References ARRAY_PACKED_REALS.
Prefer using.
References ARRAY_PACKED_REALS.
References ARRAY_PACKED_REALS.
Referenced by Ogre::ArraySphere::getAsSphere().
References ARRAY_PACKED_REALS.
References ARRAY_PACKED_REALS.
|
inline |
Returns the biggest value between x, y, z; max( x, y, z )
|
inline |
Returns the biggest value between x, y, z; max( x, y, z )
|
inline |
Returns the biggest value between x, y, z; max( x, y, z )
|
inline |
Returns the smallest value between x, y, z; min( x, y, z )
|
inline |
Returns the smallest value between x, y, z; min( x, y, z )
|
inline |
Returns the smallest value between x, y, z; min( x, y, z )
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;
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;
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 |
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 ArrayVector3.
|
inline |
Converts 4 ARRAY_PACKED_REALS reals into this ArrayVector3.
|
inline |
Converts 4 ARRAY_PACKED_REALS reals into this ArrayVector3.
|
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.
Unlike Vector3::normalise(), this function does not return the length of the vector because such value was not cached and was never available.
Unlike Vector3::normalise(), this function does not return the length of the vector because such value was not cached and was never available.
Unlike Vector3::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 |
Copies only one vector, by looking at the indexes.
|
inline |
Copies only one vector, by looking at the indexes.
|
inline |
Copies only one vector, by looking at the indexes.
|
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 |
Extract the primary (dominant) axis from this direction vector.
|
inline |
Extract the primary (dominant) axis from this direction vector.
|
inline |
Extract the primary (dominant) axis from this direction 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 .
Sets all packed vectors to the same value as the scalar input vector.
Referenced by Ogre::ArrayAabb::setAll().
Sets all packed vectors to the same value as the scalar input vector.
Sets all packed vectors to the same value as the scalar input vector.
References ARRAY_PACKED_REALS.
Referenced by Ogre::BoneTransform::copy(), Ogre::Transform::copy(), and Ogre::ArraySphere::setFromSphere().
References ARRAY_PACKED_REALS.
References ARRAY_PACKED_REALS.
|
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.
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
ArrayReal Ogre::ArrayVector3::mChunkBase |
Referenced by Ogre::ArraySphere::setAll().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |