Jpp
17.0.0
the software that should make you happy
|
Data structure for unit quaternion in three dimensions. More...
#include <JQuaternion3D.hh>
Classes | |
struct | decomposition |
Auxiliary data structure for decomposition of quaternion in twist and swing quaternions. More... | |
Public Member Functions | |
JQuaternion3D () | |
Default constructor. More... | |
JQuaternion3D (const double a, const double b, const double c, const double d) | |
Constructor. More... | |
JQuaternion3D (const double theta, const JVersor3D &dir) | |
Constructor. More... | |
JQuaternion3D (const double w, const JVector3D &dir) | |
Constructor. More... | |
JQuaternion3D (const JQuaternion3X &qx) | |
Constructor. More... | |
JQuaternion3D (const JQuaternion3Y &qy) | |
Constructor. More... | |
JQuaternion3D (const JQuaternion3Z &qz) | |
Constructor. More... | |
JQuaternion3D (const JQuaternion3X &qx, const JQuaternion3Y &qy, const JQuaternion3Z &qz) | |
Constructor. More... | |
const JQuaternion3D & | getQuaternion () const |
Get quaternion. More... | |
JQuaternion3D & | getQuaternion () |
Get quaternion. More... | |
void | setQuaternion (const JQuaternion3D &quaternion) |
Set quaternion. More... | |
operator JVector3D () const | |
Type conversion operator. More... | |
operator JVersor3D () const | |
Type conversion operator. More... | |
double | getAngle () const |
Get rotation angle. More... | |
double | getA () const |
Get a value. More... | |
double | getB () const |
Get b value. More... | |
double | getC () const |
Get c value. More... | |
double | getD () const |
Get d value. More... | |
JQuaternion3D & | setIdentity () |
Set to identity quaternion. More... | |
JQuaternion3D & | conjugate () |
Conjugate quaternion. More... | |
JQuaternion3D & | negate () |
Negate quaternion. More... | |
JQuaternion3D & | add (const JQuaternion3D &quaternion) |
Add quaternion. More... | |
JQuaternion3D & | sub (const JQuaternion3D &quaternion) |
Subtract quaternion. More... | |
JQuaternion3D & | mul (const double factor) |
Scale quaternion. More... | |
JQuaternion3D & | div (const double factor) |
Scale quaternion. More... | |
JQuaternion3D & | mul (const JQuaternion3D &first, const JQuaternion3X &second) |
Quaternion multiplication. More... | |
JQuaternion3D & | mul (const JQuaternion3D &first, const JQuaternion3Y &second) |
Quaternion multiplication. More... | |
JQuaternion3D & | mul (const JQuaternion3D &first, const JQuaternion3Z &second) |
Quaternion multiplication. More... | |
JQuaternion3D & | mul (const JQuaternion3D &first, const JQuaternion3D &second) |
Quaternion multiplication. More... | |
JQuaternion3D & | mul (const JQuaternion3X &qx, const JQuaternion3Y &qy, const JQuaternion3Z &qz) |
Quaternion multiplication. More... | |
void | rotate (double &__x, double &__y, double &__z) const |
Rotate. More... | |
void | rotate_back (double &__x, double &__y, double &__z) const |
Rotate back. More... | |
bool | equals (const JQuaternion3D &quaternion, const double precision=std::numeric_limits< double >::min()) const |
Check equality. More... | |
bool | isIdentity (const double precision=std::numeric_limits< double >::min()) const |
Test identity. More... | |
double | getLengthSquared () const |
Get length squared. More... | |
double | getLength () const |
Get length. More... | |
double | getDistanceSquared (const JQuaternion3D &quaternion) const |
Get squared of distance to quaternion. More... | |
double | getDistance (const JQuaternion3D &quaternion) const |
Get distance to quaternion. More... | |
double | getDot (const JQuaternion3D &quaternion) const |
Get dot product. More... | |
JQuaternion3D | getConjugate () const |
Get conjugate of this quaternion. More... | |
JQuaternion3D & | normalise () |
Normalise quaternion. More... | |
JQuaternion3D & | pow (const double y) |
Raise quaternion to given power. More... | |
JQuaternion3D & | interpolate (const JQuaternion3D &object, const double alpha) |
Interpolation between quaternions. More... | |
JFirst_t & | mul (const JSecond_t &object) |
Multiply with object. More... | |
Static Public Member Functions | |
static const JQuaternion3D & | getIdentity () |
Get identity quaternion. More... | |
Protected Attributes | |
double | __a |
double | __b |
double | __c |
double | __d |
Friends | |
std::istream & | operator>> (std::istream &in, JQuaternion3D &quaternion) |
Write quaternion from input. More... | |
std::ostream & | operator<< (std::ostream &out, const JQuaternion3D &quaternion) |
Write quaternion to output. More... | |
JReader & | operator>> (JReader &in, JQuaternion3D &quaternion) |
Read quaternion from input. More... | |
JWriter & | operator<< (JWriter &out, const JQuaternion3D &quaternion) |
Write quaternion to output. More... | |
Data structure for unit quaternion in three dimensions.
This class implements the JMATH::JMath and JLANG::JEquals interfaces.
Definition at line 303 of file JQuaternion3D.hh.
|
inline |
|
inline |
Constructor.
a | a value |
b | b value |
c | c value |
d | d value |
Definition at line 340 of file JQuaternion3D.hh.
|
inline |
Constructor.
This constructor represents a rotation around the given axis by the given angle.
theta | rotation angle [rad] |
dir | rotation axis |
Definition at line 361 of file JQuaternion3D.hh.
|
inline |
Constructor.
w | weight |
dir | rotation axis |
Definition at line 380 of file JQuaternion3D.hh.
|
inline |
Constructor.
qx | rotation around x-axis |
Definition at line 397 of file JQuaternion3D.hh.
|
inline |
Constructor.
qy | rotation around y-axis |
Definition at line 412 of file JQuaternion3D.hh.
|
inline |
Constructor.
qz | rotation around x-axis |
Definition at line 427 of file JQuaternion3D.hh.
|
inline |
Constructor.
qx | rotation around x-axis |
qy | rotation around y-axis |
qz | rotation around z-axis |
Definition at line 444 of file JQuaternion3D.hh.
|
inlinestatic |
Get identity quaternion.
Definition at line 463 of file JQuaternion3D.hh.
|
inline |
Get quaternion.
Definition at line 476 of file JQuaternion3D.hh.
|
inline |
Get quaternion.
Definition at line 487 of file JQuaternion3D.hh.
|
inline |
Set quaternion.
quaternion | quaternion |
Definition at line 498 of file JQuaternion3D.hh.
|
inline |
|
inline |
Type conversion operator.
Definition at line 520 of file JQuaternion3D.hh.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Add quaternion.
quaternion | quaternion |
Definition at line 637 of file JQuaternion3D.hh.
|
inline |
Subtract quaternion.
quaternion | quaternion |
Definition at line 654 of file JQuaternion3D.hh.
|
inline |
Scale quaternion.
factor | multiplication factor |
Definition at line 671 of file JQuaternion3D.hh.
|
inline |
Scale quaternion.
factor | division factor |
Definition at line 688 of file JQuaternion3D.hh.
|
inline |
Quaternion multiplication.
This method evaluates the Hamilton product (also called cross product).
first | first quaternion |
second | second quaternion |
Definition at line 708 of file JQuaternion3D.hh.
|
inline |
Quaternion multiplication.
This method evaluates the Hamilton product (or cross product).
first | first quaternion |
second | second quaternion |
Definition at line 728 of file JQuaternion3D.hh.
|
inline |
Quaternion multiplication.
This method evaluates the Hamilton product (or cross product).
first | first quaternion |
second | second quaternion |
Definition at line 749 of file JQuaternion3D.hh.
|
inline |
Quaternion multiplication.
This method evaluates the Hamilton product (or cross product).
first | first quaternion |
second | second quaternion |
Definition at line 770 of file JQuaternion3D.hh.
|
inline |
Quaternion multiplication.
qx | rotation around x-axis |
qy | rotation around y-axis |
qz | rotation around x-axis |
Definition at line 790 of file JQuaternion3D.hh.
|
inline |
Rotate.
__x | x value |
__y | y value |
__z | z value |
Definition at line 805 of file JQuaternion3D.hh.
|
inline |
Rotate back.
__x | x value |
__y | y value |
__z | z value |
Definition at line 824 of file JQuaternion3D.hh.
|
inline |
Check equality.
quaternion | quaternion |
precision | numerical precision |
Definition at line 843 of file JQuaternion3D.hh.
|
inline |
Test identity.
precision | precision |
Definition at line 859 of file JQuaternion3D.hh.
|
inline |
|
inline |
Get length.
Definition at line 897 of file JQuaternion3D.hh.
|
inline |
Get squared of distance to quaternion.
quaternion | quaternion |
Definition at line 909 of file JQuaternion3D.hh.
|
inline |
Get distance to quaternion.
quaternion | quaternion |
Definition at line 921 of file JQuaternion3D.hh.
|
inline |
Get dot product.
quaternion | quaternion |
Definition at line 933 of file JQuaternion3D.hh.
|
inline |
Get conjugate of this quaternion.
Definition at line 948 of file JQuaternion3D.hh.
|
inline |
Normalise quaternion.
Definition at line 959 of file JQuaternion3D.hh.
|
inline |
Raise quaternion to given power.
y | power |
Definition at line 977 of file JQuaternion3D.hh.
|
inline |
Interpolation between quaternions.
The result is equal to *this = (1 - alpha) * (*this) + (alpha) * (object)
.
object | object |
alpha | interpolation factor [0, 1] |
Definition at line 1004 of file JQuaternion3D.hh.
|
inlineinherited |
Multiply with object.
object | object |
Definition at line 357 of file JMath.hh.
|
friend |
Write quaternion from input.
in | input stream |
quaternion | quaternion |
Definition at line 1047 of file JQuaternion3D.hh.
|
friend |
Write quaternion to output.
out | output stream |
quaternion | quaternion |
Definition at line 1067 of file JQuaternion3D.hh.
|
friend |
Read quaternion from input.
in | reader |
quaternion | quaternion |
Definition at line 1087 of file JQuaternion3D.hh.
|
friend |
Write quaternion to output.
out | writer |
quaternion | quaternion |
Definition at line 1105 of file JQuaternion3D.hh.
|
protected |
Definition at line 1117 of file JQuaternion3D.hh.
|
protected |
Definition at line 1118 of file JQuaternion3D.hh.
|
protected |
Definition at line 1119 of file JQuaternion3D.hh.
|
protected |
Definition at line 1120 of file JQuaternion3D.hh.