#include <quaternion.h>
 | 
|   | CQuaternion () | 
|   | 
|   | CQuaternion (const CQuaternion &c_quaternion) | 
|   | 
|   | CQuaternion (Real f_real, Real f_img1, Real f_img2, Real f_img3) | 
|   | 
|   | CQuaternion (const CRadians &c_radians, const CVector3 &c_vector3) | 
|   | 
|   | CQuaternion (const CVector3 &c_vector1, const CVector3 &c_vector2) | 
|   | 
| Real  | GetW () const | 
|   | 
| Real  | GetX () const | 
|   | 
| Real  | GetY () const | 
|   | 
| Real  | GetZ () const | 
|   | 
| void  | SetW (Real f_w) | 
|   | 
| void  | SetX (Real f_x) | 
|   | 
| void  | SetY (Real f_y) | 
|   | 
| void  | SetZ (Real f_z) | 
|   | 
| void  | Set (Real f_w, Real f_x, Real f_y, Real f_z) | 
|   | 
| CQuaternion  | Conjugate () const | 
|   | 
| CQuaternion  | Inverse () const | 
|   | 
| Real  | Length () const | 
|   | 
| Real  | SquareLength () const | 
|   | 
| CQuaternion &  | Normalize () | 
|   | 
| CQuaternion &  | FromAngleAxis (const CRadians &c_angle, const CVector3 &c_vector) | 
|   | 
| void  | ToAngleAxis (CRadians &c_angle, CVector3 &c_vector) const | 
|   | 
| CQuaternion &  | FromEulerAngles (const CRadians &c_z_angle, const CRadians &c_y_angle, const CRadians &c_x_angle) | 
|   | 
| void  | ToEulerAngles (CRadians &c_z_angle, CRadians &c_y_angle, CRadians &c_x_angle) const | 
|   | 
| CQuaternion &  | BetweenTwoVectors (const CVector3 &c_vector1, const CVector3 &c_vector2) | 
|   | 
| bool  | operator== (const CQuaternion &c_quaternion) | 
|   | 
| CQuaternion &  | operator= (const CQuaternion &c_quaternion) | 
|   | 
| CQuaternion &  | operator+= (const CQuaternion &c_quaternion) | 
|   | 
| CQuaternion &  | operator-= (const CQuaternion &c_quaternion) | 
|   | 
| CQuaternion &  | operator*= (const CQuaternion &c_quaternion) | 
|   | 
| CQuaternion  | operator+ (const CQuaternion &c_quaternion) const | 
|   | 
| CQuaternion  | operator- (const CQuaternion &c_quaternion) const | 
|   | 
| CQuaternion  | operator* (const CQuaternion &c_quaternion) const | 
|   | 
|   | operator CRotationMatrix3 () const | 
|   | Implict conversion to rotation matrix.  More...
  | 
|   | 
 | 
| std::ostream &  | operator<< (std::ostream &c_os, const CQuaternion &c_quaternion) | 
|   | Serializes the contents of the passed quaternion into a stream as Euler angles in the Z,Y,X format in degrees.  More...
  | 
|   | 
| std::istream &  | operator>> (std::istream &c_is, CQuaternion &c_quaternion) | 
|   | Deserializes the contents of a stream and stores it into the passed quaternion.  More...
  | 
|   | 
Definition at line 15 of file quaternion.h.
 
◆ CQuaternion() [1/5]
  
  
      
        
          | argos::CQuaternion::CQuaternion  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
◆ CQuaternion() [2/5]
  
  
      
        
          | argos::CQuaternion::CQuaternion  | 
          ( | 
          const CQuaternion &  | 
          c_quaternion | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
◆ CQuaternion() [3/5]
  
  
      
        
          | argos::CQuaternion::CQuaternion  | 
          ( | 
          Real  | 
          f_real,  | 
         
        
           | 
           | 
          Real  | 
          f_img1,  | 
         
        
           | 
           | 
          Real  | 
          f_img2,  | 
         
        
           | 
           | 
          Real  | 
          f_img3  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
 
◆ CQuaternion() [4/5]
  
  
      
        
          | argos::CQuaternion::CQuaternion  | 
          ( | 
          const CRadians &  | 
          c_radians,  | 
         
        
           | 
           | 
          const CVector3 &  | 
          c_vector3  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
 
◆ CQuaternion() [5/5]
  
  
      
        
          | argos::CQuaternion::CQuaternion  | 
          ( | 
          const CVector3 &  | 
          c_vector1,  | 
         
        
           | 
           | 
          const CVector3 &  | 
          c_vector2  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
 
◆ BetweenTwoVectors()
◆ Conjugate()
◆ FromAngleAxis()
◆ FromEulerAngles()
◆ GetW()
  
  
      
        
          | Real argos::CQuaternion::GetW  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
◆ GetX()
  
  
      
        
          | Real argos::CQuaternion::GetX  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
◆ GetY()
  
  
      
        
          | Real argos::CQuaternion::GetY  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
◆ GetZ()
  
  
      
        
          | Real argos::CQuaternion::GetZ  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
◆ Inverse()
◆ Length()
  
  
      
        
          | Real argos::CQuaternion::Length  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
◆ Normalize()
◆ operator CRotationMatrix3()
Implict conversion to rotation matrix. 
This code is based on the solution used by Bullet 
Definition at line 341 of file quaternion.h.
 
 
◆ operator*()
◆ operator*=()
◆ operator+()
◆ operator+=()
◆ operator-()
◆ operator-=()
◆ operator=()
◆ operator==()
  
  
      
        
          | bool argos::CQuaternion::operator==  | 
          ( | 
          const CQuaternion &  | 
          c_quaternion | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
◆ Set()
◆ SetW()
  
  
      
        
          | void argos::CQuaternion::SetW  | 
          ( | 
          Real  | 
          f_w | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
◆ SetX()
  
  
      
        
          | void argos::CQuaternion::SetX  | 
          ( | 
          Real  | 
          f_x | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
◆ SetY()
  
  
      
        
          | void argos::CQuaternion::SetY  | 
          ( | 
          Real  | 
          f_y | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
◆ SetZ()
  
  
      
        
          | void argos::CQuaternion::SetZ  | 
          ( | 
          Real  | 
          f_z | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
◆ SquareLength()
  
  
      
        
          | Real argos::CQuaternion::SquareLength  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
◆ ToAngleAxis()
  
  
      
        
          | void argos::CQuaternion::ToAngleAxis  | 
          ( | 
          CRadians &  | 
          c_angle,  | 
         
        
           | 
           | 
          CVector3 &  | 
          c_vector  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
inline   | 
  
 
 
◆ ToEulerAngles()
◆ operator<<
  
  
      
        
          | std::ostream& operator<<  | 
          ( | 
          std::ostream &  | 
          c_os,  | 
         
        
           | 
           | 
          const CQuaternion &  | 
          c_quaternion  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
friend   | 
  
 
Serializes the contents of the passed quaternion into a stream as Euler angles in the Z,Y,X format in degrees. 
- Parameters
 - 
  
    | c_os | The stream.  | 
    | c_quaternion | The quaternion.  | 
  
   
- Returns
 - The new state of the stream. 
 
Definition at line 360 of file quaternion.h.
 
 
◆ operator>>
  
  
      
        
          | std::istream& operator>>  | 
          ( | 
          std::istream &  | 
          c_is,  | 
         
        
           | 
           | 
          CQuaternion &  | 
          c_quaternion  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
friend   | 
  
 
Deserializes the contents of a stream and stores it into the passed quaternion. 
This method assumes Euler angles in Z,Y,X format and given in degrees. 
- Parameters
 - 
  
    | c_is | The stream.  | 
    | c_quaternion | The quaternion.  | 
  
   
- Returns
 - The new state of the stream. 
 
Definition at line 376 of file quaternion.h.