Blender  V3.3
Classes | Macros | Functions
btQuaternion.h File Reference
#include "btVector3.h"
#include "btQuadWord.h"

Go to the source code of this file.

Classes

class  btQuaternion
 The btQuaternion implements quaternion to perform linear algebra rotations in combination with btMatrix3x3, btVector3 and btTransform. More...
 
struct  btQuaternionFloatData
 
struct  btQuaternionDoubleData
 

Macros

#define btQuaternionData   btQuaternionFloatData
 
#define btQuaternionDataName   "btQuaternionFloatData"
 

Functions

SIMD_FORCE_INLINE btQuaternion operator* (const btQuaternion &q1, const btQuaternion &q2)
 Return the product of two quaternions. More...
 
SIMD_FORCE_INLINE btQuaternion operator* (const btQuaternion &q, const btVector3 &w)
 
SIMD_FORCE_INLINE btQuaternion operator* (const btVector3 &w, const btQuaternion &q)
 
SIMD_FORCE_INLINE btScalar dot (const btQuaternion &q1, const btQuaternion &q2)
 Calculate the dot product between two quaternions. More...
 
SIMD_FORCE_INLINE btScalar length (const btQuaternion &q)
 Return the length of a quaternion. More...
 
SIMD_FORCE_INLINE btScalar btAngle (const btQuaternion &q1, const btQuaternion &q2)
 Return the angle between two quaternions. More...
 
SIMD_FORCE_INLINE btQuaternion inverse (const btQuaternion &q)
 Return the inverse of a quaternion. More...
 
SIMD_FORCE_INLINE btQuaternion slerp (const btQuaternion &q1, const btQuaternion &q2, const btScalar &t)
 Return the result of spherical linear interpolation betwen two quaternions. More...
 
SIMD_FORCE_INLINE btVector3 quatRotate (const btQuaternion &rotation, const btVector3 &v)
 
SIMD_FORCE_INLINE btQuaternion shortestArcQuat (const btVector3 &v0, const btVector3 &v1)
 
SIMD_FORCE_INLINE btQuaternion shortestArcQuatNormalize2 (btVector3 &v0, btVector3 &v1)
 

Macro Definition Documentation

◆ btQuaternionData

#define btQuaternionData   btQuaternionFloatData

Definition at line 25 of file btQuaternion.h.

◆ btQuaternionDataName

#define btQuaternionDataName   "btQuaternionFloatData"

Definition at line 26 of file btQuaternion.h.

Function Documentation

◆ btAngle()

SIMD_FORCE_INLINE btScalar btAngle ( const btQuaternion q1,
const btQuaternion q2 
)

Return the angle between two quaternions.

Definition at line 902 of file btQuaternion.h.

References q1.

Referenced by calculateNormalCone().

◆ dot()

SIMD_FORCE_INLINE btScalar dot ( const btQuaternion q1,
const btQuaternion q2 
)

Calculate the dot product between two quaternions.

Definition at line 888 of file btQuaternion.h.

References q1.

◆ inverse()

Return the inverse of a quaternion.

Definition at line 909 of file btQuaternion.h.

References btQuaternion::inverse().

◆ length()

SIMD_FORCE_INLINE btScalar length ( const btQuaternion q)

Return the length of a quaternion.

Definition at line 895 of file btQuaternion.h.

References btQuaternion::length().

◆ operator*() [1/3]

SIMD_FORCE_INLINE btQuaternion operator* ( const btQuaternion q,
const btVector3 w 
)

Definition at line 721 of file btQuaternion.h.

References A1, A2, Freestyle::B1(), Freestyle::B2(), Freestyle::B3(), and w().

◆ operator*() [2/3]

SIMD_FORCE_INLINE btQuaternion operator* ( const btQuaternion q1,
const btQuaternion q2 
)

Return the product of two quaternions.

Definition at line 633 of file btQuaternion.h.

References A0, A1, A2, Freestyle::B1(), Freestyle::B2(), Freestyle::B3(), and q1.

◆ operator*() [3/3]

SIMD_FORCE_INLINE btQuaternion operator* ( const btVector3 w,
const btQuaternion q 
)

Definition at line 804 of file btQuaternion.h.

References A1, A2, Freestyle::B1(), Freestyle::B2(), Freestyle::B3(), and w().

◆ quatRotate()

SIMD_FORCE_INLINE btVector3 quatRotate ( const btQuaternion rotation,
const btVector3 v 
)

◆ shortestArcQuat()

SIMD_FORCE_INLINE btQuaternion shortestArcQuat ( const btVector3 v0,
const btVector3 v1 
)

◆ shortestArcQuatNormalize2()

SIMD_FORCE_INLINE btQuaternion shortestArcQuatNormalize2 ( btVector3 v0,
btVector3 v1 
)

Definition at line 959 of file btQuaternion.h.

References btQuaternion::normalize(), shortestArcQuat(), and v1.

Referenced by getRotation().

◆ slerp()

SIMD_FORCE_INLINE btQuaternion slerp ( const btQuaternion q1,
const btQuaternion q2,
const btScalar t 
)

Return the result of spherical linear interpolation betwen two quaternions.

Parameters
q1The first quaternion
q2The second quaternion
tThe ration between q1 and q2. t = 0 return q1, t=1 returns q2 Slerp assumes constant velocity between positions.

Definition at line 920 of file btQuaternion.h.

References q1, and t.