Classes |
class | tf::tfVector4 |
class | tf::Vector3 |
| Vector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-byte alignment when Vector3 is stored in containers. This extra component can be used by derived classes (Quaternion?) or by user Ideally, this class should be replaced by a platform optimized SIMD version that keeps the data in registers. More...
|
struct | tf::Vector3DoubleData |
struct | tf::Vector3FloatData |
Namespaces |
namespace | tf |
Defines |
#define | Vector3Data Vector3DoubleData |
#define | Vector3DataName "Vector3DoubleData" |
Functions |
class tf::Vector3 | tf::__attribute__ ((aligned(16))) |
TFSIMD_FORCE_INLINE Vector3 | absolute () const |
| Return a vector will the absolute values of each element.
|
TFSIMD_FORCE_INLINE tfScalar | angle (const Vector3 &v) const |
| Return the angle between this and another vector.
|
TFSIMD_FORCE_INLINE int | closestAxis () const |
TFSIMD_FORCE_INLINE Vector3 | cross (const Vector3 &v) const |
| Return the cross product between this and another vector.
|
TFSIMD_FORCE_INLINE void | deSerialize (const struct Vector3Data &dataIn) |
TFSIMD_FORCE_INLINE void | deSerializeDouble (const struct Vector3DoubleData &dataIn) |
TFSIMD_FORCE_INLINE void | deSerializeFloat (const struct Vector3FloatData &dataIn) |
TFSIMD_FORCE_INLINE tfScalar | distance (const Vector3 &v) const |
| Return the distance between the ends of this and another vector This is symantically treating the vector like a point.
|
TFSIMD_FORCE_INLINE tfScalar | distance2 (const Vector3 &v) const |
| Return the distance squared between the ends of this and another vector This is symantically treating the vector like a point.
|
TFSIMD_FORCE_INLINE tfScalar | dot (const Vector3 &v) const |
| Return the dot product.
|
TFSIMD_FORCE_INLINE int | furthestAxis () const |
TFSIMD_FORCE_INLINE bool | fuzzyZero () const |
void | getSkewSymmetricMatrix (Vector3 *v0, Vector3 *v1, Vector3 *v2) const |
TFSIMD_FORCE_INLINE const
tfScalar & | getX () const |
| Return the x value.
|
TFSIMD_FORCE_INLINE const
tfScalar & | getY () const |
| Return the y value.
|
TFSIMD_FORCE_INLINE const
tfScalar & | getZ () const |
| Return the z value.
|
TFSIMD_FORCE_INLINE bool | isZero () const |
TFSIMD_FORCE_INLINE tfScalar | length () const |
| Return the length of the vector.
|
TFSIMD_FORCE_INLINE tfScalar | length2 () const |
| Return the length of the vector squared.
|
TFSIMD_FORCE_INLINE Vector3 | tf::lerp (const Vector3 &v1, const Vector3 &v2, const tfScalar &t) |
| Return the linear interpolation between two vectors.
|
TFSIMD_FORCE_INLINE Vector3 | lerp (const Vector3 &v, const tfScalar &t) const |
| Return the linear interpolation between this and another vector.
|
TFSIMD_FORCE_INLINE int | maxAxis () const |
| Return the axis with the largest value Note return values are 0,1,2 for x, y, or z.
|
TFSIMD_FORCE_INLINE int | minAxis () const |
| Return the axis with the smallest value Note return values are 0,1,2 for x, y, or z.
|
TFSIMD_FORCE_INLINE Vector3 & | normalize () |
| Normalize this vector x^2 + y^2 + z^2 = 1.
|
TFSIMD_FORCE_INLINE Vector3 | normalized () const |
| Return a normalized version of this vector.
|
TFSIMD_FORCE_INLINE | operator const tfScalar * () const |
TFSIMD_FORCE_INLINE | operator tfScalar * () |
| operator tfScalar*() replaces operator[], using implicit conversion. We added operator != and operator == to avoid pointer comparisons.
|
TFSIMD_FORCE_INLINE bool | operator!= (const Vector3 &other) const |
TFSIMD_FORCE_INLINE Vector3 | tf::operator* (const Vector3 &v1, const Vector3 &v2) |
| Return the elementwise product of two vectors.
|
TFSIMD_FORCE_INLINE Vector3 | tf::operator* (const Vector3 &v, const tfScalar &s) |
| Return the vector scaled by s.
|
TFSIMD_FORCE_INLINE Vector3 | tf::operator* (const tfScalar &s, const Vector3 &v) |
| Return the vector scaled by s.
|
TFSIMD_FORCE_INLINE Vector3 & | operator*= (const tfScalar &s) |
| Scale the vector.
|
TFSIMD_FORCE_INLINE Vector3 & | operator*= (const Vector3 &v) |
| Elementwise multiply this vector by the other.
|
TFSIMD_FORCE_INLINE Vector3 | tf::operator+ (const Vector3 &v1, const Vector3 &v2) |
| Return the sum of two vectors (Point symantics)
|
TFSIMD_FORCE_INLINE Vector3 & | operator+= (const Vector3 &v) |
| Add a vector to this one.
|
TFSIMD_FORCE_INLINE Vector3 | tf::operator- (const Vector3 &v1, const Vector3 &v2) |
| Return the difference between two vectors.
|
TFSIMD_FORCE_INLINE Vector3 | tf::operator- (const Vector3 &v) |
| Return the negative of the vector.
|
TFSIMD_FORCE_INLINE Vector3 & | operator-= (const Vector3 &v) |
| Sutfract a vector from this one.
|
TFSIMD_FORCE_INLINE Vector3 | tf::operator/ (const Vector3 &v, const tfScalar &s) |
| Return the vector inversely scaled by s.
|
TFSIMD_FORCE_INLINE Vector3 | tf::operator/ (const Vector3 &v1, const Vector3 &v2) |
| Return the vector inversely scaled by s.
|
TFSIMD_FORCE_INLINE Vector3 & | operator/= (const tfScalar &s) |
| Inversely scale the vector.
|
TFSIMD_FORCE_INLINE bool | operator== (const Vector3 &other) const |
TFSIMD_FORCE_INLINE Vector3 | rotate (const Vector3 &wAxis, const tfScalar angle) const |
| Rotate this vector.
|
TFSIMD_FORCE_INLINE void | serialize (struct Vector3Data &dataOut) const |
TFSIMD_FORCE_INLINE void | serializeDouble (struct Vector3DoubleData &dataOut) const |
TFSIMD_FORCE_INLINE void | serializeFloat (struct Vector3FloatData &dataOut) const |
TFSIMD_FORCE_INLINE void | setInterpolate3 (const Vector3 &v0, const Vector3 &v1, tfScalar rt) |
TFSIMD_FORCE_INLINE void | setMax (const Vector3 &other) |
| Set each element to the max of the current values and the values of another Vector3.
|
TFSIMD_FORCE_INLINE void | setMin (const Vector3 &other) |
| Set each element to the min of the current values and the values of another Vector3.
|
TFSIMD_FORCE_INLINE void | setValue (const tfScalar &x, const tfScalar &y, const tfScalar &z) |
TFSIMD_FORCE_INLINE void | setW (tfScalar w) |
| Set the w value.
|
TFSIMD_FORCE_INLINE void | setX (tfScalar x) |
| Set the x value.
|
TFSIMD_FORCE_INLINE void | setY (tfScalar y) |
| Set the y value.
|
TFSIMD_FORCE_INLINE void | setZ (tfScalar z) |
| Set the z value.
|
void | setZero () |
TFSIMD_FORCE_INLINE tfScalar | tf::tfAngle (const Vector3 &v1, const Vector3 &v2) |
| Return the angle between two vectors.
|
TFSIMD_FORCE_INLINE Vector3 | tf::tfCross (const Vector3 &v1, const Vector3 &v2) |
| Return the cross product of two vectors.
|
TFSIMD_FORCE_INLINE tfScalar | tf::tfDistance (const Vector3 &v1, const Vector3 &v2) |
| Return the distance between two vectors.
|
TFSIMD_FORCE_INLINE tfScalar | tf::tfDistance2 (const Vector3 &v1, const Vector3 &v2) |
| Return the distance squared between two vectors.
|
TFSIMD_FORCE_INLINE tfScalar | tf::tfDot (const Vector3 &v1, const Vector3 &v2) |
| Return the dot product between two vectors.
|
TFSIMD_FORCE_INLINE void | tf::tfPlaneSpace1 (const Vector3 &n, Vector3 &p, Vector3 &q) |
TFSIMD_FORCE_INLINE void | tf::tfSwapScalarEndian (const tfScalar &sourceVal, tfScalar &destVal) |
| tfSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization
|
TFSIMD_FORCE_INLINE void | tf::tfSwapVector3Endian (const Vector3 &sourceVec, Vector3 &destVec) |
| tfSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization
|
TFSIMD_FORCE_INLINE tfScalar | tf::tfTriple (const Vector3 &v1, const Vector3 &v2, const Vector3 &v3) |
TFSIMD_FORCE_INLINE void | tf::tfUnSwapVector3Endian (Vector3 &vector) |
| tfUnSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization
|
TFSIMD_FORCE_INLINE tfScalar | triple (const Vector3 &v1, const Vector3 &v2) const |
TFSIMD_FORCE_INLINE | Vector3 () |
| No initialization constructor.
|
TFSIMD_FORCE_INLINE | Vector3 (const tfScalar &x, const tfScalar &y, const tfScalar &z) |
| Constructor from scalars.
|
TFSIMD_FORCE_INLINE const
tfScalar & | w () const |
| Return the w value.
|
TFSIMD_FORCE_INLINE const
tfScalar & | x () const |
| Return the x value.
|
TFSIMD_FORCE_INLINE const
tfScalar & | y () const |
| Return the y value.
|
TFSIMD_FORCE_INLINE const
tfScalar & | z () const |
| Return the z value.
|
Variables |
tf::tfVector4 | tf::__attribute__ |
tfScalar | m_floats [4] |