glVertex
5.5.2
|
quaternion More...
#include <glslmath.h>
Public Member Functions | |
quat (const vec4 &v=vec4(0, 0, 0, 1)) | |
default constructor | |
quat (double x, double y, double z, double w) | |
custom constructor | |
quat (const vec3 &v, double w) | |
custom constructor | |
double | dot (const quat &r) const |
inner product | |
double | length () const |
get quaternion length | |
double | norm () const |
get quaternion norm | |
quat | normalize () const |
normalization | |
quat | conjugate () const |
conjugation | |
quat | invert () const |
invert normalized quaternion | |
operator vec4 () const | |
cast operator | |
operator mat3 () const | |
cast operator | |
quat & | operator*= (const quat &q) |
inplace multiplication | |
operator std::string () | |
string cast operator | |
std::string | to_string (std::string delimiter=", ", int space=0) |
conversion to string | |
Static Public Member Functions | |
static quat | rotate (double angle, const vec3 &v) |
create rotating quaternion More... | |
static quat | rotate (const vec3 &from, const vec3 &to) |
create rotating quaternion from two vectors | |
Friends | |
quat | operator+ (const quat &a, const quat &b) |
addition of two quaternions | |
quat | operator- (const quat &a, const quat &b) |
subtraction of two quaternions | |
quat | operator* (const quat &a, const quat &b) |
multiplication of two quaternions | |
quat | operator* (double a, const quat &b) |
left-hand side scalar multiplication | |
quat | operator* (const quat &a, double b) |
right-hand side scalar multiplication | |
quat | operator- (const quat &r) |
conjugation of a quaternion | |
vec3 | operator* (const quat &r, const vec3 &v) |
right-hand side vector multiplication with normalized quaternion | |
quaternion
create rotating quaternion