Go to the source code of this file.
Classes | |
struct | btVector3DoubleData |
struct | btVector3FloatData |
class | btVector4 |
Defines | |
#define | btVector3Data btVector3FloatData |
#define | btVector3DataName "btVector3FloatData" |
Functions | |
ATTRIBUTE_ALIGNED16 (class) btVector3 | |
btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-byte alignment when btVector3 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 | |
SIMD_FORCE_INLINE btScalar | btAngle (const btVector3 &v1, const btVector3 &v2) |
Return the angle between two vectors. | |
SIMD_FORCE_INLINE btVector3 | btCross (const btVector3 &v1, const btVector3 &v2) |
Return the cross product of two vectors. | |
SIMD_FORCE_INLINE btScalar | btDistance (const btVector3 &v1, const btVector3 &v2) |
Return the distance between two vectors. | |
SIMD_FORCE_INLINE btScalar | btDistance2 (const btVector3 &v1, const btVector3 &v2) |
Return the distance squared between two vectors. | |
SIMD_FORCE_INLINE btScalar | btDot (const btVector3 &v1, const btVector3 &v2) |
Return the dot product between two vectors. | |
SIMD_FORCE_INLINE void | btPlaneSpace1 (const btVector3 &n, btVector3 &p, btVector3 &q) |
SIMD_FORCE_INLINE void | btSwapScalarEndian (const btScalar &sourceVal, btScalar &destVal) |
btSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization | |
SIMD_FORCE_INLINE void | btSwapVector3Endian (const btVector3 &sourceVec, btVector3 &destVec) |
btSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization | |
SIMD_FORCE_INLINE btScalar | btTriple (const btVector3 &v1, const btVector3 &v2, const btVector3 &v3) |
SIMD_FORCE_INLINE void | btUnSwapVector3Endian (btVector3 &vector) |
btUnSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization | |
SIMD_FORCE_INLINE btVector3 | lerp (const btVector3 &v1, const btVector3 &v2, const btScalar &t) |
Return the linear interpolation between two vectors. | |
SIMD_FORCE_INLINE btVector3 | operator* (const btVector3 &v1, const btVector3 &v2) |
Return the elementwise product of two vectors. | |
SIMD_FORCE_INLINE btVector3 | operator* (const btVector3 &v, const btScalar &s) |
Return the vector scaled by s. | |
SIMD_FORCE_INLINE btVector3 | operator* (const btScalar &s, const btVector3 &v) |
Return the vector scaled by s. | |
SIMD_FORCE_INLINE btVector3 | operator+ (const btVector3 &v1, const btVector3 &v2) |
Return the sum of two vectors (Point symantics) | |
SIMD_FORCE_INLINE btVector3 | operator- (const btVector3 &v1, const btVector3 &v2) |
Return the difference between two vectors. | |
SIMD_FORCE_INLINE btVector3 | operator- (const btVector3 &v) |
Return the negative of the vector. | |
SIMD_FORCE_INLINE btVector3 | operator/ (const btVector3 &v, const btScalar &s) |
Return the vector inversely scaled by s. | |
SIMD_FORCE_INLINE btVector3 | operator/ (const btVector3 &v1, const btVector3 &v2) |
Return the vector inversely scaled by s. |
#define btVector3Data btVector3FloatData |
Definition at line 28 of file btVector3.h.
#define btVector3DataName "btVector3FloatData" |
Definition at line 29 of file btVector3.h.
ATTRIBUTE_ALIGNED16 | ( | class | ) |
btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-byte alignment when btVector3 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
No initialization constructor
Constructor from scalars
x | X value |
y | Y value |
z | Z value |
Add a vector to this one
The | vector to add to this one |
Subtract a vector from this one
The | vector to subtract |
Scale the vector
s | Scale factor |
Inversely scale the vector
s | Scale factor to divide by |
Return the dot product
v | The other vector in the dot product |
Return the length of the vector squared
Return the length of the vector
Return the distance squared between the ends of this and another vector This is symantically treating the vector like a point
Return the distance between the ends of this and another vector This is symantically treating the vector like a point
Normalize this vector x^2 + y^2 + z^2 = 1
Return a normalized version of this vector
Rotate this vector
wAxis | The axis to rotate about |
angle | The angle to rotate by |
Return the angle between this and another vector
v | The other vector |
Return a vector will the absolute values of each element
Return the cross product between this and another vector
v | The other vector |
Return the axis with the smallest value Note return values are 0,1,2 for x, y, or z
Return the axis with the largest value Note return values are 0,1,2 for x, y, or z
Return the linear interpolation between this and another vector
v | The other vector |
t | The ration of this to v (t = 0 => return this, t=1 => return other) |
Elementwise multiply this vector by the other
v | The other vector |
Return the x value
Return the y value
Return the z value
Set the x value
Set the y value
Set the z value
Set the w value
Return the x value
Return the y value
Return the z value
Return the w value
operator btScalar*() replaces operator[], using implicit conversion. We added operator != and operator == to avoid pointer comparisons.
Set each element to the max of the current values and the values of another btVector3
other | The other btVector3 to compare with |
Set each element to the min of the current values and the values of another btVector3
other | The other btVector3 to compare with |
Definition at line 39 of file btVector3.h.
SIMD_FORCE_INLINE btScalar btAngle | ( | const btVector3 & | v1, |
const btVector3 & | v2 | ||
) |
Return the angle between two vectors.
Definition at line 436 of file btVector3.h.
SIMD_FORCE_INLINE btVector3 btCross | ( | const btVector3 & | v1, |
const btVector3 & | v2 | ||
) |
Return the cross product of two vectors.
Definition at line 443 of file btVector3.h.
SIMD_FORCE_INLINE btScalar btDistance | ( | const btVector3 & | v1, |
const btVector3 & | v2 | ||
) |
Return the distance between two vectors.
Definition at line 429 of file btVector3.h.
SIMD_FORCE_INLINE btScalar btDistance2 | ( | const btVector3 & | v1, |
const btVector3 & | v2 | ||
) |
Return the distance squared between two vectors.
Definition at line 421 of file btVector3.h.
SIMD_FORCE_INLINE btScalar btDot | ( | const btVector3 & | v1, |
const btVector3 & | v2 | ||
) |
Return the dot product between two vectors.
Definition at line 413 of file btVector3.h.
SIMD_FORCE_INLINE void btPlaneSpace1 | ( | const btVector3 & | n, |
btVector3 & | p, | ||
btVector3 & | q | ||
) |
Definition at line 670 of file btVector3.h.
SIMD_FORCE_INLINE void btSwapScalarEndian | ( | const btScalar & | sourceVal, |
btScalar & | destVal | ||
) |
btSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization
Definition at line 626 of file btVector3.h.
SIMD_FORCE_INLINE void btSwapVector3Endian | ( | const btVector3 & | sourceVec, |
btVector3 & | destVec | ||
) |
btSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization
Definition at line 649 of file btVector3.h.
SIMD_FORCE_INLINE btScalar btTriple | ( | const btVector3 & | v1, |
const btVector3 & | v2, | ||
const btVector3 & | v3 | ||
) |
Definition at line 449 of file btVector3.h.
SIMD_FORCE_INLINE void btUnSwapVector3Endian | ( | btVector3 & | vector | ) |
btUnSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization
Definition at line 659 of file btVector3.h.
SIMD_FORCE_INLINE btVector3 lerp | ( | const btVector3 & | v1, |
const btVector3 & | v2, | ||
const btScalar & | t | ||
) |
Return the linear interpolation between two vectors.
v1 | One vector |
v2 | The other vector |
t | The ration of this to v (t = 0 => return v1, t=1 => return v2) |
Definition at line 459 of file btVector3.h.
SIMD_FORCE_INLINE btVector3 operator* | ( | const btVector3 & | v1, |
const btVector3 & | v2 | ||
) |
Return the elementwise product of two vectors.
Definition at line 364 of file btVector3.h.
SIMD_FORCE_INLINE btVector3 operator* | ( | const btVector3 & | v, |
const btScalar & | s | ||
) |
Return the vector scaled by s.
Definition at line 384 of file btVector3.h.
SIMD_FORCE_INLINE btVector3 operator* | ( | const btScalar & | s, |
const btVector3 & | v | ||
) |
Return the vector scaled by s.
Definition at line 391 of file btVector3.h.
SIMD_FORCE_INLINE btVector3 operator+ | ( | const btVector3 & | v1, |
const btVector3 & | v2 | ||
) |
Return the sum of two vectors (Point symantics)
Definition at line 357 of file btVector3.h.
SIMD_FORCE_INLINE btVector3 operator- | ( | const btVector3 & | v1, |
const btVector3 & | v2 | ||
) |
Return the difference between two vectors.
Definition at line 371 of file btVector3.h.
SIMD_FORCE_INLINE btVector3 operator- | ( | const btVector3 & | v | ) |
Return the negative of the vector.
Definition at line 377 of file btVector3.h.
SIMD_FORCE_INLINE btVector3 operator/ | ( | const btVector3 & | v, |
const btScalar & | s | ||
) |
Return the vector inversely scaled by s.
Definition at line 398 of file btVector3.h.
SIMD_FORCE_INLINE btVector3 operator/ | ( | const btVector3 & | v1, |
const btVector3 & | v2 | ||
) |
Return the vector inversely scaled by s.
Definition at line 406 of file btVector3.h.