glVertex  5.5.2
Public Member Functions | Static Public Member Functions | Friends | List of all members
quat Class Reference

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
 
quatoperator*= (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
 

Detailed Description

quaternion

Member Function Documentation

◆ rotate()

static quat quat::rotate ( double  angle,
const vec3 v 
)
inlinestatic

create rotating quaternion

  • rotation angle is specified clockwise in OpenGL coordinates

The documentation for this class was generated from the following file: