ViSP
2.8.0
|
#include <vpRxyzVector.h>
Public Member Functions | |
vpRxyzVector () | |
vpRxyzVector (const vpRxyzVector &m) | |
vpRxyzVector (const double phi, const double theta, const double psi) | |
vpRxyzVector (const vpRotationMatrix &R) | |
vpRxyzVector (const vpThetaUVector &tu) | |
vpRxyzVector & | operator= (const vpRxyzVector &m) |
void | buildFrom (const double phi, const double theta, const double psi) |
vpRxyzVector | buildFrom (const vpRotationMatrix &R) |
vpRxyzVector | buildFrom (const vpThetaUVector &tu) |
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 angle using the x-y-z convention, where are respectively the rotation angles around the , and axis.
with
The rotation matrix corresponding to the x-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 vpRxyzVector and finaly how to extract the vpRxyzVector Euler angles from the build rotation matrix.
Definition at line 152 of file vpRxyzVector.h.
|
inline |
Default constructor. Initialize the angles to zero.
Definition at line 159 of file vpRxyzVector.h.
vpRxyzVector::vpRxyzVector | ( | const vpRxyzVector & | m | ) |
Copy constructor.
Definition at line 70 of file vpRxyzVector.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 170 of file vpRxyzVector.h.
References vpRotationVector::r.
vpRxyzVector::vpRxyzVector | ( | const vpRotationMatrix & | R | ) |
Constructor that initialize Euler angles from a rotation matrix.
R | : Rotation matrix used to initialize the Euler angles. |
Definition at line 80 of file vpRxyzVector.cpp.
References buildFrom().
vpRxyzVector::vpRxyzVector | ( | 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 91 of file vpRxyzVector.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 188 of file vpRxyzVector.h.
References vpRotationVector::r.
Referenced by buildFrom(), vpRobotAfma6::getDisplacement(), vpRobotCamera::getPosition(), vpSimulatorCamera::getPosition(), vpSimulatorPioneer::getPosition(), vpSimulatorPioneerPan::getPosition(), vpRobotAfma4::getPosition(), vpRobotAfma6::getPosition(), vpRobotAfma6::setPosition(), and vpRxyzVector().
vpRxyzVector vpRxyzVector::buildFrom | ( | const vpRotationMatrix & | R | ) |
Convert a rotation matrix into a Euler angles vector.
R | : Rotation matrix used as input. |
Definition at line 104 of file vpRxyzVector.cpp.
References vpRotationVector::r.
vpRxyzVector vpRxyzVector::buildFrom | ( | const vpThetaUVector & | tu | ) |
Convert a vector into a Euler angles vector.
tu | : representation of a rotation used here as input. |
Definition at line 184 of file vpRxyzVector.cpp.
References vpRotationMatrix::buildFrom(), and buildFrom().
|
protectedinherited |
Definition at line 113 of file vpRotationVector.cpp.
References vpRotationVector::_size, vpRotationVector::r, and vpRotationVector::size().
vpRxyzVector & vpRxyzVector::operator= | ( | const vpRxyzVector & | m | ) |
Affectation of two vectors.
Definition at line 58 of file vpRxyzVector.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 154 of file vpRxyzVector.h.
|
friend |
Definition at line 155 of file vpRxyzVector.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(), vpRzyzVector::buildFrom(), vpRzyxVector::buildFrom(), buildFrom(), vpThetaUVector::extract(), vpRotationVector::init(), vpQuaternionVector::operator=(), vpRzyzVector::operator=(), vpRzyxVector::operator=(), operator=(), vpThetaUVector::operator=(), vpQuaternionVector::set(), vpRotationVector::t(), vpColVector::vpColVector(), vpQuaternionVector::vpQuaternionVector(), vpRxyzVector(), vpRzyxVector::vpRzyxVector(), vpRzyzVector::vpRzyzVector(), and vpRotationVector::~vpRotationVector().