btVector3.h File Reference

#include "btScalar.h"
#include "btMinMax.h"
Include dependency graph for btVector3.h:

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 btScalar &s, const btVector3 &v)
 Return the vector scaled by s.
SIMD_FORCE_INLINE btVector3 operator* (const btVector3 &v, const btScalar &s)
 Return the vector scaled by s.
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 &v1, const btVector3 &v2)
 Return the sum of two vectors (Point symantics).
SIMD_FORCE_INLINE btVector3 operator- (const btVector3 &v)
 Return the negative of the vector.
SIMD_FORCE_INLINE btVector3 operator- (const btVector3 &v1, const btVector3 &v2)
 Return the difference between two vectors.
SIMD_FORCE_INLINE btVector3 operator/ (const btVector3 &v1, const btVector3 &v2)
 Return the vector inversely scaled by s.
SIMD_FORCE_INLINE btVector3 operator/ (const btVector3 &v, const btScalar &s)
 Return the vector inversely scaled by s.

Define Documentation

#define btVector3Data   btVector3FloatData

Definition at line 28 of file btVector3.h.

#define btVector3DataName   "btVector3FloatData"

Definition at line 29 of file btVector3.h.


Function Documentation

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

Parameters:
x X value
y Y value
z Z value

Add a vector to this one

Parameters:
The vector to add to this one

Subtract a vector from this one

Parameters:
The vector to subtract

Scale the vector

Parameters:
s Scale factor

Inversely scale the vector

Parameters:
s Scale factor to divide by

Return the dot product

Parameters:
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

Parameters:
wAxis The axis to rotate about
angle The angle to rotate by

Return the angle between this and another vector

Parameters:
v The other vector

Return a vector will the absolute values of each element

Return the cross product between this and another vector

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
other The other btVector3 to compare with

Set each element to the min of the current values and the values of another btVector3

Parameters:
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.

Parameters:
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 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 &  v,
const btScalar s 
)

Return the vector scaled by s.

Definition at line 384 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 &  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 &  v  ) 

Return the negative of the vector.

Definition at line 377 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 &  v1,
const btVector3 &  v2 
)

Return the vector inversely scaled by s.

Definition at line 406 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.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


bullet
Author(s): Erwin Coumans, ROS package maintained by Tully Foote
autogenerated on Fri Jan 11 10:10:56 2013