Defines a quaternion and its basic operations. More...
#include <vpQuaternionVector.h>
Public Member Functions | |
void | buildFrom (const vpRotationMatrix &R) |
vpQuaternionVector | operator* (const double l) |
Multiplication by scalar. Returns a quaternion defined by (lx,ly,lz,lw). | |
vpQuaternionVector | operator* (vpQuaternionVector &rq) |
Multiply two quaternions. | |
vpQuaternionVector | operator+ (vpQuaternionVector &q) |
vpQuaternionVector | operator- (vpQuaternionVector &q) |
vpQuaternionVector | operator- () |
Negate operator. Returns a quaternion defined by (-x,-y,-z-,-w). | |
vpQuaternionVector & | operator= (vpQuaternionVector &q) |
Copy operator. Allow operation such as Q = q. | |
void | set (const double x, const double y, const double z, const double w) |
unsigned int | size () |
vpQuaternionVector () | |
vpQuaternionVector (const double x, const double y, const double z, const double w) | |
Constructor from doubles. | |
vpQuaternionVector (const vpQuaternionVector &q) | |
vpQuaternionVector (const vpRotationMatrix &R) | |
double | w () const |
returns w-component of the quaternion | |
double | x () const |
returns x-component of the quaternion | |
double | y () const |
returns y-component of the quaternion | |
double | z () const |
returns z-component of the quaternion | |
Private Attributes | |
double | r [4] |
Static Private Attributes | |
static const double | minimum = 0.0001 |
Defines a quaternion and its basic operations.
This class allows to compute a quaternion from a rotation matrix using either vpQuaternionVector(const vpRotationMatrix &) contructor or buildFrom() method.
It also defines common operations on a quaternion such as:
Definition at line 77 of file vpQuaternionVector.h.
Definition at line 57 of file vpQuaternionVector.cpp.
vpQuaternionVector::vpQuaternionVector | ( | const double | x, |
const double | y, | ||
const double | z, | ||
const double | w | ||
) |
Constructor from doubles.
Definition at line 60 of file vpQuaternionVector.cpp.
vpQuaternionVector::vpQuaternionVector | ( | const vpQuaternionVector & | q | ) |
Copy constructor.
q,: | quaternion to construct from. |
Definition at line 81 of file vpQuaternionVector.cpp.
vpQuaternionVector::vpQuaternionVector | ( | const vpRotationMatrix & | R | ) |
Constructs a quaternion from a rotation matrix.
R,: | Matrix containing a rotation. |
Definition at line 72 of file vpQuaternionVector.cpp.
void vpQuaternionVector::buildFrom | ( | const vpRotationMatrix & | R | ) |
Constructs a quaternion from a rotation matrix.
R,: | Rotation matrix. |
Definition at line 159 of file vpQuaternionVector.cpp.
vpQuaternionVector vpQuaternionVector::operator* | ( | const double | l | ) |
Multiplication by scalar. Returns a quaternion defined by (lx,ly,lz,lw).
Definition at line 134 of file vpQuaternionVector.cpp.
vpQuaternionVector vpQuaternionVector::operator* | ( | vpQuaternionVector & | rq | ) |
Multiply two quaternions.
Definition at line 140 of file vpQuaternionVector.cpp.
vpQuaternionVector vpQuaternionVector::operator+ | ( | vpQuaternionVector & | q | ) |
Quaternion addition.
Adds two quaternions. Addition is component-wise.
q,: | quaternion to add. |
Definition at line 111 of file vpQuaternionVector.cpp.
vpQuaternionVector vpQuaternionVector::operator- | ( | vpQuaternionVector & | q | ) |
Quaternion substraction.
Substracts a quaternion from another. Substraction is component-wise.
q,: | quaternion to substract. |
Definition at line 122 of file vpQuaternionVector.cpp.
vpQuaternionVector vpQuaternionVector::operator- | ( | void | ) |
Negate operator. Returns a quaternion defined by (-x,-y,-z-,-w).
Definition at line 128 of file vpQuaternionVector.cpp.
vpQuaternionVector & vpQuaternionVector::operator= | ( | vpQuaternionVector & | q | ) |
Copy operator. Allow operation such as Q = q.
Definition at line 148 of file vpQuaternionVector.cpp.
void vpQuaternionVector::set | ( | const double | x, |
const double | y, | ||
const double | z, | ||
const double | w | ||
) |
Manually change values of a quaternion.
x,: | x quaternion parameter. |
y,: | y quaternion parameter. |
z,: | z quaternion parameter. |
w,: | w quaternion parameter. |
Definition at line 94 of file vpQuaternionVector.cpp.
unsigned int vpQuaternionVector::size | ( | ) | [inline] |
Definition at line 92 of file vpQuaternionVector.h.
double vpQuaternionVector::w | ( | ) | const [inline] |
returns w-component of the quaternion
Definition at line 100 of file vpQuaternionVector.h.
double vpQuaternionVector::x | ( | ) | const [inline] |
returns x-component of the quaternion
Definition at line 94 of file vpQuaternionVector.h.
double vpQuaternionVector::y | ( | ) | const [inline] |
returns y-component of the quaternion
Definition at line 96 of file vpQuaternionVector.h.
double vpQuaternionVector::z | ( | ) | const [inline] |
returns z-component of the quaternion
Definition at line 98 of file vpQuaternionVector.h.
const double vpQuaternionVector::minimum = 0.0001 [static, private] |
Definition at line 80 of file vpQuaternionVector.h.
double vpQuaternionVector::r[4] [private] |
Definition at line 81 of file vpQuaternionVector.h.