|
ViSP
|
#include <vpRxyzVector.h>
Inheritance diagram for vpRxyzVector:
Collaboration diagram for vpRxyzVector: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().
Here is the caller graph for this function:| vpRxyzVector vpRxyzVector::buildFrom | ( | const vpRotationMatrix & | R | ) |
Convert a rotation matrix into a
Euler angles vector.
| R | : Rotation matrix used as input. |
Euler angles vector. 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. |
Euler angles vector. 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().
Here is the caller graph for this function:
|
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().