| 
    Jpp
    19.1.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 | 
      
  | 
  inline | 
Constructor.
| qx | rotation around x-axis | 
Definition at line 397 of file JQuaternion3D.hh.
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inlinestatic | 
Get identity quaternion.
Definition at line 463 of file JQuaternion3D.hh.
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
Type conversion operator.
Definition at line 520 of file JQuaternion3D.hh.
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  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 | 
      
  | 
  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 | 
      
  | 
  friend | 
      
  | 
  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.