|
Jpp
18.0.0-rc.2
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 |
|
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.
1.8.5