Bullet Collision Detection & Physics Library
|
The btQuaternion implements quaternion to perform linear algebra rotations in combination with btMatrix3x3, btVector3 and btTransform. More...
#include <btQuaternion.h>
Public Member Functions | |
btQuaternion () | |
No initialization constructor. More... | |
btQuaternion (const btScalar &_x, const btScalar &_y, const btScalar &_z, const btScalar &_w) | |
Constructor from scalars. More... | |
btQuaternion (const btVector3 &_axis, const btScalar &_angle) | |
Axis angle Constructor. More... | |
btQuaternion (const btScalar &yaw, const btScalar &pitch, const btScalar &roll) | |
Constructor from Euler angles. More... | |
void | setRotation (const btVector3 &axis, const btScalar &_angle) |
Set the rotation using axis angle notation. More... | |
void | setEuler (const btScalar &yaw, const btScalar &pitch, const btScalar &roll) |
Set the quaternion using Euler angles. More... | |
void | setEulerZYX (const btScalar &yaw, const btScalar &pitch, const btScalar &roll) |
Set the quaternion using euler angles. More... | |
btQuaternion & | operator+= (const btQuaternion &q) |
Add two quaternions. More... | |
btQuaternion & | operator-= (const btQuaternion &q) |
Subtract out a quaternion. More... | |
btQuaternion & | operator*= (const btScalar &s) |
Scale this quaternion. More... | |
btQuaternion & | operator*= (const btQuaternion &q) |
Multiply this quaternion by q on the right. More... | |
btScalar | dot (const btQuaternion &q) const |
Return the dot product between this quaternion and another. More... | |
btScalar | length2 () const |
Return the length squared of the quaternion. More... | |
btScalar | length () const |
Return the length of the quaternion. More... | |
btQuaternion & | normalize () |
Normalize the quaternion Such that x^2 + y^2 + z^2 +w^2 = 1. More... | |
btQuaternion | operator* (const btScalar &s) const |
Return a scaled version of this quaternion. More... | |
btQuaternion | operator/ (const btScalar &s) const |
Return an inversely scaled versionof this quaternion. More... | |
btQuaternion & | operator/= (const btScalar &s) |
Inversely scale this quaternion. More... | |
btQuaternion | normalized () const |
Return a normalized version of this quaternion. More... | |
btScalar | angle (const btQuaternion &q) const |
Return the ***half*** angle between this quaternion and the other. More... | |
btScalar | angleShortestPath (const btQuaternion &q) const |
Return the angle between this quaternion and the other along the shortest path. More... | |
btScalar | getAngle () const |
Return the angle of rotation represented by this quaternion. More... | |
btScalar | getAngleShortestPath () const |
Return the angle of rotation represented by this quaternion along the shortest path. More... | |
btVector3 | getAxis () const |
Return the axis of the rotation represented by this quaternion. More... | |
btQuaternion | inverse () const |
Return the inverse of this quaternion. More... | |
btQuaternion | operator+ (const btQuaternion &q2) const |
Return the sum of this quaternion and the other. More... | |
btQuaternion | operator- (const btQuaternion &q2) const |
Return the difference between this quaternion and the other. More... | |
btQuaternion | operator- () const |
Return the negative of this quaternion This simply negates each element. More... | |
btQuaternion | farthest (const btQuaternion &qd) const |
btQuaternion | nearest (const btQuaternion &qd) const |
btQuaternion | slerp (const btQuaternion &q, const btScalar &t) const |
Return the quaternion which is the result of Spherical Linear Interpolation between this and the other quaternion. More... | |
const btScalar & | getW () const |
Public Member Functions inherited from btQuadWord | |
const btScalar & | getX () const |
Return the x value. More... | |
const btScalar & | getY () const |
Return the y value. More... | |
const btScalar & | getZ () const |
Return the z value. More... | |
void | setX (btScalar _x) |
Set the x value. More... | |
void | setY (btScalar _y) |
Set the y value. More... | |
void | setZ (btScalar _z) |
Set the z value. More... | |
void | setW (btScalar _w) |
Set the w value. More... | |
const btScalar & | x () const |
Return the x value. More... | |
const btScalar & | y () const |
Return the y value. More... | |
const btScalar & | z () const |
Return the z value. More... | |
const btScalar & | w () const |
Return the w value. More... | |
operator btScalar * () | |
operator btScalar*() replaces operator[], using implicit conversion. We added operator != and operator == to avoid pointer comparisons. More... | |
operator const btScalar * () const | |
bool | operator== (const btQuadWord &other) const |
bool | operator!= (const btQuadWord &other) const |
void | setValue (const btScalar &_x, const btScalar &_y, const btScalar &_z) |
Set x,y,z and zero w. More... | |
void | setValue (const btScalar &_x, const btScalar &_y, const btScalar &_z, const btScalar &_w) |
Set the values. More... | |
btQuadWord () | |
No initialization constructor. More... | |
btQuadWord (const btScalar &_x, const btScalar &_y, const btScalar &_z) | |
Three argument constructor (zeros w) More... | |
btQuadWord (const btScalar &_x, const btScalar &_y, const btScalar &_z, const btScalar &_w) | |
Initializing constructor. More... | |
void | setMax (const btQuadWord &other) |
Set each element to the max of the current values and the values of another btQuadWord. More... | |
void | setMin (const btQuadWord &other) |
Set each element to the min of the current values and the values of another btQuadWord. More... | |
Static Public Member Functions | |
static const btQuaternion & | getIdentity () |
Additional Inherited Members | |
Protected Attributes inherited from btQuadWord | |
btScalar | m_floats [4] |
The btQuaternion implements quaternion to perform linear algebra rotations in combination with btMatrix3x3, btVector3 and btTransform.
Definition at line 48 of file btQuaternion.h.
|
inline |
No initialization constructor.
Definition at line 51 of file btQuaternion.h.
|
inline |
Constructor from scalars.
Definition at line 80 of file btQuaternion.h.
Axis angle Constructor.
axis | The axis which the rotation is around |
angle | The magnitude of the rotation around the angle (Radians) |
Definition at line 86 of file btQuaternion.h.
|
inline |
Constructor from Euler angles.
yaw | Angle around Y unless BT_EULER_DEFAULT_ZYX defined then Z |
pitch | Angle around X unless BT_EULER_DEFAULT_ZYX defined then Y |
roll | Angle around Z unless BT_EULER_DEFAULT_ZYX defined then X |
Definition at line 94 of file btQuaternion.h.
|
inline |
Return the ***half*** angle between this quaternion and the other.
q | The other quaternion |
Definition at line 395 of file btQuaternion.h.
|
inline |
Return the angle between this quaternion and the other along the shortest path.
q | The other quaternion |
Definition at line 404 of file btQuaternion.h.
|
inline |
Return the dot product between this quaternion and another.
q | The other quaternion |
Definition at line 292 of file btQuaternion.h.
|
inline |
Definition at line 501 of file btQuaternion.h.
|
inline |
Return the angle of rotation represented by this quaternion.
Definition at line 415 of file btQuaternion.h.
|
inline |
Return the angle of rotation represented by this quaternion along the shortest path.
Definition at line 422 of file btQuaternion.h.
|
inline |
Return the axis of the rotation represented by this quaternion.
Definition at line 435 of file btQuaternion.h.
|
inlinestatic |
Definition at line 555 of file btQuaternion.h.
|
inline |
Definition at line 561 of file btQuaternion.h.
|
inline |
Return the inverse of this quaternion.
Definition at line 446 of file btQuaternion.h.
|
inline |
Return the length of the quaternion.
Definition at line 325 of file btQuaternion.h.
|
inline |
Return the length squared of the quaternion.
Definition at line 319 of file btQuaternion.h.
|
inline |
Definition at line 512 of file btQuaternion.h.
|
inline |
Normalize the quaternion Such that x^2 + y^2 + z^2 +w^2 = 1.
Definition at line 332 of file btQuaternion.h.
|
inline |
Return a normalized version of this quaternion.
Definition at line 389 of file btQuaternion.h.
|
inline |
Return a scaled version of this quaternion.
s | The scale factor |
Definition at line 358 of file btQuaternion.h.
|
inline |
Scale this quaternion.
s | The scalar to scale by |
Definition at line 189 of file btQuaternion.h.
|
inline |
Multiply this quaternion by q on the right.
q | The other quaternion Equivilant to this = this * q |
Definition at line 209 of file btQuaternion.h.
|
inline |
Return the sum of this quaternion and the other.
q2 | The other quaternion |
Definition at line 460 of file btQuaternion.h.
|
inline |
Add two quaternions.
q | The quaternion to add to this one |
Definition at line 155 of file btQuaternion.h.
|
inline |
Return the difference between this quaternion and the other.
q2 | The other quaternion |
Definition at line 475 of file btQuaternion.h.
|
inline |
Return the negative of this quaternion This simply negates each element.
Definition at line 489 of file btQuaternion.h.
|
inline |
Subtract out a quaternion.
q | The quaternion to subtract from this one |
Definition at line 172 of file btQuaternion.h.
|
inline |
Return an inversely scaled versionof this quaternion.
s | The inverse scale factor |
Definition at line 374 of file btQuaternion.h.
|
inline |
Inversely scale this quaternion.
s | The scale factor |
Definition at line 382 of file btQuaternion.h.
|
inline |
Set the quaternion using Euler angles.
yaw | Angle around Y |
pitch | Angle around X |
roll | Angle around Z |
Definition at line 117 of file btQuaternion.h.
|
inline |
Set the quaternion using euler angles.
yaw | Angle around Z |
pitch | Angle around Y |
roll | Angle around X |
Definition at line 137 of file btQuaternion.h.
Set the rotation using axis angle notation.
axis | The axis around which to rotate |
angle | The magnitude of the rotation in Radians |
Definition at line 105 of file btQuaternion.h.
|
inline |
Return the quaternion which is the result of Spherical Linear Interpolation between this and the other quaternion.
q | The other quaternion to interpolate with |
t | The ratio between this and q to interpolate. If t = 0 the result is this, if t=1 the result is q. Slerp interpolates assuming constant velocity. |
Definition at line 527 of file btQuaternion.h.