18 #ifndef GLUS_QUATERNION_H_
19 #define GLUS_QUATERNION_H_
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionRotateRzf(GLUSfloat quaternion[4], const GLUSfloat angle)
Creates a rotation Quaternion around a the z axis.
Definition: glus_quaternion.c:167
GLUSAPI GLUSboolean GLUSAPIENTRY glusQuaternionNormalizef(GLUSfloat quaternion[4])
Normalized a Quaternion.
Definition: glus_quaternion.c:46
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionGetEulerRzRyRxf(GLUSfloat angles[3], const GLUSfloat quaternion[4])
Extracts the Euler angles from a Quaternion, created by Rz * Ry * Rx.
Definition: glus_quaternion.c:313
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionConjugatef(GLUSfloat quaternion[4])
Calculates the conjugate of a Quaternion.
Definition: glus_quaternion.c:97
float GLUSfloat
Definition: glus_typedef.h:37
void GLUSvoid
Definition: glus_typedef.h:51
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionRotateRxf(GLUSfloat quaternion[4], const GLUSfloat angle)
Creates a rotation Quaternion around a the x axis.
Definition: glus_quaternion.c:147
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionCopyf(GLUSfloat result[4], const GLUSfloat quaternion[4])
Copies a Quaternion.
Definition: glus_quaternion.c:28
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionInverseUnitf(GLUSfloat quaternion[4])
Calculates the inverse of a unit Quaternion.
Definition: glus_quaternion.c:126
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionGetMatrix3x3f(GLUSfloat matrix[9], const GLUSfloat quaternion[4])
Creates a 3x3 matrix out of a Quaternion.
Definition: glus_quaternion.c:233
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionGetEulerRzRxRyf(GLUSfloat angles[3], const GLUSfloat quaternion[4])
Extracts the Euler angles from a Quaternion, created by Rz * Rx * Ry.
Definition: glus_quaternion.c:282
GLUSAPI GLUSboolean GLUSAPIENTRY glusQuaternionGetVector3f(GLUSfloat vector[3], const GLUSfloat quaternion[4])
Creates a 3D Vector, out of a Quaternion.
Definition: glus_quaternion.c:268
GLUSAPI GLUSfloat GLUSAPIENTRY glusQuaternionNormf(const GLUSfloat quaternion[4])
Calculates the norm of a Quaternion.
Definition: glus_quaternion.c:36
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionRotateRzRyRxf(GLUSfloat quaternion[4], const GLUSfloat anglez, const GLUSfloat angley, const GLUSfloat anglex)
Creates a rotation Quaternion out of Euler angels: Rz * Ry * Rx.
Definition: glus_quaternion.c:191
#define GLUSAPI
Definition: glus_function.h:38
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionIdentityf(GLUSfloat quaternion[4])
Creates the identity Quaternion.
Definition: glus_quaternion.c:20
unsigned char GLUSboolean
Definition: glus_typedef.h:21
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionGetMatrix4x4f(GLUSfloat matrix[16], const GLUSfloat quaternion[4])
Creates a 4x4 matrix out of a Quaternion.
Definition: glus_quaternion.c:205
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionRotateRzRxRyf(GLUSfloat quaternion[4], const GLUSfloat anglez, const GLUSfloat anglex, const GLUSfloat angley)
Creates a rotation Quaternion out of Euler angels: Rz * Rx * Ry.
Definition: glus_quaternion.c:177
GLUSAPI GLUSboolean GLUSAPIENTRY glusQuaternionGetPoint4f(GLUSfloat point[4], const GLUSfloat quaternion[4])
Creates a 3D Point, given as homogeneous coordinates, out of a Quaternion.
Definition: glus_quaternion.c:253
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionSubQuaternionf(GLUSfloat result[4], const GLUSfloat quaternion0[4], const GLUSfloat quaternion1[4])
Subtracts two Quaternions: quaternion0 - quaternion1.
Definition: glus_quaternion.c:75
GLUSAPI GLUSboolean GLUSAPIENTRY glusQuaternionInversef(GLUSfloat quaternion[4])
Calculates the inverse of a Quaternion.
Definition: glus_quaternion.c:105
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionAddQuaternionf(GLUSfloat result[4], const GLUSfloat quaternion0[4], const GLUSfloat quaternion1[4])
Adds two Quaternions.
Definition: glus_quaternion.c:65
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionRotateRyf(GLUSfloat quaternion[4], const GLUSfloat angle)
Creates a rotation Quaternion around a the y axis.
Definition: glus_quaternion.c:157
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionRotatef(GLUSfloat quaternion[4], const GLUSfloat angle, const GLUSfloat x, const GLUSfloat y, const GLUSfloat z)
Creates a rotation Quaternion around a given axis.
Definition: glus_quaternion.c:131
#define GLUSAPIENTRY
Definition: glus_function.h:31
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionSlerpf(GLUSfloat result[4], const GLUSfloat quaternion0[4], const GLUSfloat quaternion1[4], const GLUSfloat t)
Spherical interpolation of two Quaternions.
Definition: glus_quaternion.c:345
GLUSAPI GLUSvoid GLUSAPIENTRY glusQuaternionMultiplyQuaternionf(GLUSfloat result[4], const GLUSfloat quaternion0[4], const GLUSfloat quaternion1[4])
Multiplies two Quaternions: quaternion0 * quaternion1.
Definition: glus_quaternion.c:85