ViSP
2.8.0
|
#include <vpRzyzVector.h>
Public Member Functions | |
vpRzyzVector () | |
vpRzyzVector (const vpRzyzVector &m) | |
vpRzyzVector (const double phi, const double theta, const double psi) | |
vpRzyzVector (const vpRotationMatrix &R) | |
vpRzyzVector (const vpThetaUVector &tu) | |
vpRzyzVector & | operator= (const vpRzyzVector &m) |
void | buildFrom (const double phi, const double theta, const double psi) |
vpRzyzVector | buildFrom (const vpRotationMatrix &R) |
vpRzyzVector | buildFrom (const vpThetaUVector &R) |
double & | operator[] (unsigned int n) |
const double & | operator[] (unsigned int n) const |
unsigned int | size () const |
vpRowVector | t () const |
Protected Member Functions | |
void | init (const unsigned int size) |
Protected Attributes | |
double * | r |
unsigned int | _size |
Friends | |
class | vpRotationMatrix |
class | vpThetaUVector |
Class that consider the case of the Euler angles using the z-y-z convention, where are respectively the rotation angles around the , and axis.
with
The rotation matrix corresponding to the z-y-z convention is given by:
The code below shows first how to initialize this representation of Euler angles, than how to contruct a rotation matrix from a vpRzyzVector and finaly how to extract the vpRzyzVector Euler angles from the build rotation matrix.
Definition at line 150 of file vpRzyzVector.h.
|
inline |
Default constructor. Initialize the angles to zero.
Definition at line 157 of file vpRzyzVector.h.
vpRzyzVector::vpRzyzVector | ( | const vpRzyzVector & | m | ) |
Copy constructor.
Definition at line 71 of file vpRzyzVector.cpp.
|
inline |
Constructor from 3 angles (in radian).
phi | : angle around the axis. |
theta | : angle around the axis. |
psi | : angle around the axis. |
Definition at line 168 of file vpRzyzVector.h.
References vpRotationVector::r.
vpRzyzVector::vpRzyzVector | ( | const vpRotationMatrix & | R | ) |
Constructor that initialize Euler angles from a rotation matrix.
R | : Rotation matrix used to initialize the Euler angles. |
Definition at line 81 of file vpRzyzVector.cpp.
References buildFrom().
vpRzyzVector::vpRzyzVector | ( | const vpThetaUVector & | tu | ) |
Constructor that initialize Euler angles vector from a vector.
tu | : representation of a rotation used here as input to initialize the Euler angles. |
Definition at line 93 of file vpRzyzVector.cpp.
References buildFrom().
|
inline |
Construction from 3 angles (in radian).
phi | : angle around the axis. |
theta | : angle around the axis. |
psi | : angle around the axis. |
Definition at line 186 of file vpRzyzVector.h.
References vpRotationVector::r.
Referenced by buildFrom(), and vpRzyzVector().
vpRzyzVector vpRzyzVector::buildFrom | ( | const vpRotationMatrix & | R | ) |
Convert a rotation matrix into a Euler angles vector.
R | : Rotation matrix used as input. |
Definition at line 107 of file vpRzyzVector.cpp.
References vpRotationVector::r.
vpRzyzVector vpRzyzVector::buildFrom | ( | const vpThetaUVector & | tu | ) |
Convert a vector into a Euler angles vector.
tu | : representation of a rotation used here as input. |
Definition at line 137 of file vpRzyzVector.cpp.
References vpRotationMatrix::buildFrom(), and buildFrom().
|
protectedinherited |
Definition at line 113 of file vpRotationVector.cpp.
References vpRotationVector::_size, vpRotationVector::r, and vpRotationVector::size().
vpRzyzVector & vpRzyzVector::operator= | ( | const vpRzyzVector & | m | ) |
Affectation of two vectors.
Definition at line 59 of file vpRzyzVector.cpp.
References vpRotationVector::r.
|
inlineinherited |
Operator that allows to set the value of an element of the rotation vector: r[i] = value
Definition at line 120 of file vpRotationVector.h.
|
inlineinherited |
Operator that allows to get the value of an element of the rotation vector: value = r[i]
Definition at line 125 of file vpRotationVector.h.
|
inherited |
Returns the size of the rotation vector
Size of the rotation vector: number of double values describing the rotation. Common sizes are 4 for a quaternion and 3 for angle-based rotation vectors.
Definition at line 71 of file vpRotationVector.cpp.
References vpRotationVector::_size.
Referenced by vpRotationVector::init(), vpQuaternionVector::operator=(), and vpQuaternionVector::vpQuaternionVector().
|
inherited |
Return the transpose of the rotation vector.
Definition at line 57 of file vpRotationVector.cpp.
References vpRotationVector::_size, and vpRotationVector::r.
|
friend |
Definition at line 152 of file vpRzyzVector.h.
|
friend |
Definition at line 153 of file vpRzyzVector.h.
|
protectedinherited |
Definition at line 100 of file vpRotationVector.h.
Referenced by vpRotationVector::init(), vpRotationVector::size(), vpRotationVector::t(), and vpColVector::vpColVector().
|
protectedinherited |
Definition at line 99 of file vpRotationVector.h.
Referenced by vpThetaUVector::buildFrom(), buildFrom(), vpRzyxVector::buildFrom(), vpRxyzVector::buildFrom(), vpThetaUVector::extract(), vpRotationVector::init(), vpQuaternionVector::operator=(), operator=(), vpRzyxVector::operator=(), vpRxyzVector::operator=(), vpThetaUVector::operator=(), vpQuaternionVector::set(), vpRotationVector::t(), vpColVector::vpColVector(), vpQuaternionVector::vpQuaternionVector(), vpRxyzVector::vpRxyzVector(), vpRzyxVector::vpRzyxVector(), vpRzyzVector(), and vpRotationVector::~vpRotationVector().