This class defines a quaternion. A quaternion is a number system that extends the complex number. Quaternions are used in particular for calculations involving three-dimmensional space. Quaternions are been represented in this class as a scalar and a vector: [w, (x,y,z)]. More...
#include <Quaternion.h>
Public Member Functions | |
| void | fromEuler (double roll, double pitch, double yaw, TransformationTypes::EulerType type) | 
| This method sets the quaternion data with euler data. Sets the quaternion components [w, (x,y,z)] of the object with the specific euler data (roll, pitch, yaw). The euler system (euler321, euler123, ...) must be specified to know what is the transformation to applied.   | |
| double | getW () const | 
| double | getX () const | 
| double | getY () const | 
| double | getZ () const | 
| Quaternion () | |
| Default constructor. Initialize the quaternion as [1, (0,0,0)].   | |
| Quaternion (double w, double x, double y, double z) | |
| This constructor initialize the quaternion as [w, (x,y,z)].   | |
| double * | toArray () | 
| This method returns a new array with the quaternion data. The size of the array will be four. The first element will be the scalar. the second element will be the x component of the vector. the third element will be the y component of the vector. the fourth element will be the z component of the vector.   | |
Private Attributes | |
| double | w | 
| double | x | 
| double | y | 
| double | z | 
Friends | |
| std::ostream & | operator<< (std::ostream &o, Quaternion q) | 
This class defines a quaternion. A quaternion is a number system that extends the complex number. Quaternions are used in particular for calculations involving three-dimmensional space. Quaternions are been represented in this class as a scalar and a vector: [w, (x,y,z)].
Definition at line 25 of file Quaternion.h.
| rotateOp::Quaternion::Quaternion | ( | ) |  [inline] | 
        
Default constructor. Initialize the quaternion as [1, (0,0,0)].
Definition at line 38 of file Quaternion.h.
| rotateOp::Quaternion::Quaternion | ( | double | w, | 
| double | x, | ||
| double | y, | ||
| double | z | ||
| ) |  [inline] | 
        
This constructor initialize the quaternion as [w, (x,y,z)].
| w | The scalar. | 
| x | The x component of the vector. | 
| y | The y component of the vector. | 
| z | The z component of the vector. | 
Definition at line 54 of file Quaternion.h.
| void rotateOp::Quaternion::fromEuler | ( | double | roll, | 
| double | pitch, | ||
| double | yaw, | ||
| TransformationTypes::EulerType | type | ||
| ) |  [inline] | 
        
This method sets the quaternion data with euler data. Sets the quaternion components [w, (x,y,z)] of the object with the specific euler data (roll, pitch, yaw). The euler system (euler321, euler123, ...) must be specified to know what is the transformation to applied.
| roll | The euler roll angle in radians. | 
| pitch | The euler pitch angle in radians. | 
| yaw | The euler yaw angle in radians. | 
| type | The euler system. The options can be EULER123, EULER321 or EULER 312 | 
Definition at line 72 of file Quaternion.h.
| double rotateOp::Quaternion::getW | ( | ) |  const [inline] | 
        
Definition at line 138 of file Quaternion.h.
| double rotateOp::Quaternion::getX | ( | ) |  const [inline] | 
        
Definition at line 142 of file Quaternion.h.
| double rotateOp::Quaternion::getY | ( | ) |  const [inline] | 
        
Definition at line 146 of file Quaternion.h.
| double rotateOp::Quaternion::getZ | ( | ) |  const [inline] | 
        
Definition at line 150 of file Quaternion.h.
| double* rotateOp::Quaternion::toArray | ( | ) |  [inline] | 
        
This method returns a new array with the quaternion data. The size of the array will be four. The first element will be the scalar. the second element will be the x component of the vector. the third element will be the y component of the vector. the fourth element will be the z component of the vector.
ATENTION: The array that this method returns must be deleted for the client.
Definition at line 123 of file Quaternion.h.
| std::ostream& operator<< | ( | std::ostream & | o, | 
| Quaternion | q | ||
| ) |  [friend] | 
        
Definition at line 132 of file Quaternion.h.
double rotateOp::Quaternion::w [private] | 
        
Definition at line 28 of file Quaternion.h.
double rotateOp::Quaternion::x [private] | 
        
Definition at line 29 of file Quaternion.h.
double rotateOp::Quaternion::y [private] | 
        
Definition at line 30 of file Quaternion.h.
double rotateOp::Quaternion::z [private] | 
        
Definition at line 31 of file Quaternion.h.