mt
 All Classes Files Functions Enumerations Groups Pages
Classes | Functions
quaternion.h File Reference
#include <iostream>
#include <stdexcept>
#include <mt/util/assert/assert_template.h>
#include <mt/scalar.h>
#include <mt/vector3.h>

Go to the source code of this file.

Classes

class  mt::Quaternion
 Quaternion class. More...

Functions

Quaternion mt::operator+ (const Quaternion &q)
Quaternion mt::operator- (const Quaternion &q)
Quaternion mt::operator+ (const Quaternion &q1, const Quaternion &q2)
Quaternion mt::operator- (const Quaternion &q1, const Quaternion &q2)
Quaternion mt::operator* (const Quaternion &q1, const Quaternion &q2)
Quaternion mt::operator* (const Quaternion &q, const Vector3 &v)
Quaternion mt::operator* (const Vector3 &v, const Quaternion &q)
Quaternion mt::operator* (const Scalar &s, const Quaternion &q)
Quaternion mt::operator* (const Quaternion &q, const Scalar &s)
Quaternion mt::operator/ (const Quaternion &q, const Scalar &s)
std::ostream & mt::operator<< (std::ostream &os, const Quaternion &q)
Scalar mt::length2 (const Quaternion &q)
 Squared quaternion length.
Scalar mt::length (const Quaternion &q)
 Quaternion length.
Quaternion mt::normalize (const Quaternion &q)
 Normalized quaternion.
Scalar mt::angleCos (const Quaternion &q1, const Quaternion &q2)
 Cosine of the angle between quaternions.
Scalar mt::angle (const Quaternion &q1, const Quaternion &q2)
 Angle between quaternions in the range [0, pi] expressed in radians.
Scalar mt::dot (const Quaternion &q1, const Quaternion &q2)
 Dot product.
Quaternion mt::conjugate (const Quaternion &q)
 Quaternion conjugate.
Quaternion mt::inverse (const Quaternion &q)
 Quaternion inverse.
Quaternion mt::slerp (const Quaternion &q1, const Quaternion &q2, const Scalar &t)
 Spherical linear interpolation/extrapolation between input quaternions.

Detailed Description