This is a quaternion class. For more information on quaternion mathematics consult a mathematics source on complex numbers.
More...
|
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxQuat () |
| Default constructor, does not do any initialization. More...
|
|
PX_CUDA_CALLABLE PX_INLINE | PxQuat (PxIDENTITY r) |
| identity constructor More...
|
|
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxQuat (PxReal r) |
| Constructor from a scalar: sets the real part w to the scalar value, and the imaginary parts (x,y,z) to zero. More...
|
|
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxQuat (PxReal nx, PxReal ny, PxReal nz, PxReal nw) |
| Constructor. Take note of the order of the elements! More...
|
|
PX_CUDA_CALLABLE PX_INLINE | PxQuat (PxReal angleRadians, const PxVec3 &unitAxis) |
| Creates from angle-axis representation. More...
|
|
PX_CUDA_CALLABLE PX_FORCE_INLINE | PxQuat (const PxQuat &v) |
| Copy ctor. More...
|
|
PX_CUDA_CALLABLE PX_INLINE | PxQuat (const PxMat33 &m) |
| Creates from orientation matrix. More...
|
|
PX_CUDA_CALLABLE bool | isFinite () const |
| returns true if all elements are finite (not NAN or INF, etc.) More...
|
|
PX_CUDA_CALLABLE bool | isUnit () const |
| returns true if finite and magnitude is close to unit More...
|
|
PX_CUDA_CALLABLE bool | isSane () const |
| returns true if finite and magnitude is reasonably close to unit to allow for some accumulation of error vs isValid More...
|
|
PX_CUDA_CALLABLE PX_INLINE bool | operator== (const PxQuat &q) const |
| returns true if the two quaternions are exactly equal More...
|
|
PX_CUDA_CALLABLE PX_INLINE void | toRadiansAndUnitAxis (PxReal &angle, PxVec3 &axis) const |
| converts this quaternion to angle-axis representation More...
|
|
PX_CUDA_CALLABLE PX_INLINE PxReal | getAngle () const |
| Gets the angle between this quat and the identity quaternion. More...
|
|
PX_CUDA_CALLABLE PX_INLINE PxReal | getAngle (const PxQuat &q) const |
| Gets the angle between this quat and the argument. More...
|
|
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxReal | magnitudeSquared () const |
| This is the squared 4D vector length, should be 1 for unit quaternions. More...
|
|
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxReal | dot (const PxQuat &v) const |
| returns the scalar product of this and other. More...
|
|
PX_CUDA_CALLABLE PX_INLINE PxQuat | getNormalized () const |
|
PX_CUDA_CALLABLE PX_INLINE float | magnitude () const |
|
PX_CUDA_CALLABLE PX_INLINE PxReal | normalize () |
| maps to the closest unit quaternion. More...
|
|
PX_CUDA_CALLABLE PX_INLINE PxQuat | getConjugate () const |
|
PX_CUDA_CALLABLE PX_INLINE PxVec3 | getImaginaryPart () const |
|
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 | getBasisVector0 () const |
|
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 | getBasisVector1 () const |
|
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxVec3 | getBasisVector2 () const |
|
PX_CUDA_CALLABLE
PX_FORCE_INLINE const PxVec3 | rotate (const PxVec3 &v) const |
|
PX_CUDA_CALLABLE
PX_FORCE_INLINE const PxVec3 | rotateInv (const PxVec3 &v) const |
|
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat & | operator= (const PxQuat &p) |
| Assignment operator. More...
|
|
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat & | operator*= (const PxQuat &q) |
|
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat & | operator+= (const PxQuat &q) |
|
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat & | operator-= (const PxQuat &q) |
|
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat & | operator*= (const PxReal s) |
|
PX_CUDA_CALLABLE PX_INLINE PxQuat | operator* (const PxQuat &q) const |
|
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat | operator+ (const PxQuat &q) const |
|
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat | operator- () const |
|
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat | operator- (const PxQuat &q) const |
|
PX_CUDA_CALLABLE
PX_FORCE_INLINE PxQuat | operator* (PxReal r) const |
|
This is a quaternion class. For more information on quaternion mathematics consult a mathematics source on complex numbers.