#include <qvmath/qvquaternion.h>
Inherits QVVector.
Public Member Functions | |
QVQuaternion () | |
Identity constructor. | |
QVQuaternion (QVVector direction, float phi) | |
Axis rotation constructor. | |
QVQuaternion (const double q1, const double q2, const double q3, const double q4) | |
Direct coordinates constructor. | |
QVQuaternion (const QVMatrix matrix) | |
Rotation matrix constructor. | |
QVQuaternion | operator * (const QVQuaternion &quaternion) const |
Quaternion product. | |
QVQuaternion (const QVQuaternion &quaternion) | |
Copy constructor. | |
QVQuaternion | quaternionProduct (const QVQuaternion &quaternion) const |
Combine operation for quaternions. | |
Static Public Member Functions | |
static QVQuaternion | trackball (float p1x, float p1y, float p2x, float p2y) |
Gets quaternion corresponding to a trackball rotation. |
Definition at line 43 of file qvquaternion.h.
QVQuaternion::QVQuaternion | ( | ) |
Identity constructor.
Creates quaternion to identity rotation.
Definition at line 31 of file qvquaternion.cpp.
Referenced by trackball().
QVQuaternion::QVQuaternion | ( | QVVector | direction, | |
float | phi | |||
) |
Axis rotation constructor.
Creates a quaternion object which rotates around a direction a given angle.
direction | quaternion will rotate around this direction. | |
phi | quaternion will rotate this angle, given in radians. |
Definition at line 37 of file qvquaternion.cpp.
QVQuaternion::QVQuaternion | ( | const double | q1, | |
const double | q2, | |||
const double | q3, | |||
const double | q4 | |||
) |
Direct coordinates constructor.
Creates a quaternion from given coordinates.
q1 | first coordinate for quaternion. | |
q2 | second coordinate for quaternion. | |
q3 | third coordinate for quaternion. | |
q4 | fourth coordinate for quaternion. |
Definition at line 55 of file qvquaternion.cpp.
QVQuaternion::QVQuaternion | ( | const QVMatrix | matrix | ) |
Rotation matrix constructor.
Creates a quaternion from a rotation matrix.
matrix | rotation matrix to create the quaternion from |
Definition at line 47 of file qvquaternion.cpp.
QVQuaternion::QVQuaternion | ( | const QVQuaternion & | quaternion | ) | [inline] |
Copy constructor.
Creates a quaternion copying its coordinates from a given one.
quaternion | quaternion to copy coordinates |
Definition at line 92 of file qvquaternion.h.
QVQuaternion QVQuaternion::operator * | ( | const QVQuaternion & | quaternion | ) | const [inline] |
Quaternion product.
quaternion | operand for the product |
Definition at line 85 of file qvquaternion.h.
QVQuaternion QVQuaternion::trackball | ( | float | p1x, | |
float | p1y, | |||
float | p2x, | |||
float | p2y | |||
) | [static] |
Gets quaternion corresponding to a trackball rotation.
Creates a quaternion which rotates given two points at a plane, mapped to a sphere.
p1x | first coordinate for first point. | |
p1y | second coordinate for first point. | |
p2x | first coordinate for second point. | |
p2y | second coordinate for second point. |
Definition at line 72 of file qvquaternion.cpp.
QVQuaternion QVQuaternion::quaternionProduct | ( | const QVQuaternion & | quaternion | ) | const |
Combine operation for quaternions.
Creates a quaternion corresponding to combination of rotations corresponding to actual quaternion and the one received by parameter
quaternion | operand in the combining operation. |
Definition at line 104 of file qvquaternion.cpp.
Referenced by operator *().