A class used to store a 2D pose. More...
#include <mrpt/poses/CPose2D.h>


Public Member Functions | |
| CPose2D (const double &x=0, const double &y=0, const double &phi=0) | |
| Constructor from an initial value of the pose. | |
| CPose2D (const CPoint2D &) | |
| Constructor from a CPoint2D object. | |
| CPose2D (const CPose3D &) | |
| Aproximation!! Avoid its use, since information is lost. | |
| CPose2D (const mrpt::math::TPose2D &) | |
| Constructor from lightweight object. | |
| CPose2D (const CPoint3D &) | |
| Constructor from CPoint3D with information loss. | |
| double | phi () const |
| Get the phi angle of the 2D pose (in radians). | |
| void | phi (double angle) |
| Set the phi angle of the 2D pose (in radians). | |
| void | phi_incr (const double Aphi) |
| Increment the PHI angle (without checking the 2 PI range, call normalizePhi is needed). | |
| void | getAsVector (vector_double &v) const |
| Returns a 1x3 vector with [x y phi]. | |
| void | getHomogeneousMatrix (CMatrixDouble44 &out_HM) const |
| Returns the corresponding 4x4 homogeneous transformation matrix for the point(translation) or pose (translation+orientation). | |
| CPose2D | operator+ (const CPose2D &D) const |
The operator is the pose compounding operator. | |
| void | composeFrom (const CPose2D &A, const CPose2D &B) |
Makes . | |
| CPose3D | operator+ (const CPose3D &D) const |
The operator is the pose compounding operator. | |
| CPoint2D | operator+ (const CPoint2D &u) const |
The operator is the pose/point compounding operator. | |
| void | composePoint (double lx, double ly, double &gx, double &gy) const |
An alternative, slightly more efficient way of doing with G and L being 2D points and P this 2D pose. | |
| CPoint3D | operator+ (const CPoint3D &u) const |
The operator is the pose/point compounding operator. | |
| CPose2D | operator- (const CPose2D &b) const |
The operator is the pose inverse compounding operator, the resulting pose D fulfils: , that is: . | |
| void | AddComponents (CPose2D &p) |
| Scalar sum of components: This is diferent from poses composition, which is implemented as "+" operators in "CPose" derived classes. | |
| void | operator*= (const double s) |
| Scalar multiplication. | |
| CPose2D & | operator+= (const CPose2D &b) |
Make . | |
| void | normalizePhi () |
| Forces "phi" to be in the range [-pi,pi];. | |
| void | asString (std::string &s) const |
| Returns a human-readable textual representation of the object (eg: "[x y yaw]", yaw in degrees). | |
| std::string | asString () const |
| void | fromString (const std::string &s) |
| Set the current object value from a string generated by 'asString' (eg: "[0.02 1.04 -0.8]" ). | |
| const double & | operator[] (unsigned int i) const |
| double & | operator[] (unsigned int i) |
Protected Attributes | |
| double | m_phi |
| The orientation of the pose, in radians. | |
STL-like methods and typedefs | |
|
| |
| enum | { static_size = 3 } |
| typedef double | value_type |
| The type of the elements. | |
| typedef double & | reference |
| typedef const double & | const_reference |
| typedef std::size_t | size_type |
| typedef std::ptrdiff_t | difference_type |
| static size_type | size () |
| static bool | empty () |
| static size_type | max_size () |
| static void | resize (const size_t n) |
A class used to store a 2D pose.
A class used to store a 2D pose, including the 2D coordinate point and a heading (phi) angle. It is used in many situations, from defining a robot pose, maps relative poses, sensors,...
For a complete description of Points/Poses, see mrpt::poses::CPoseOrPoint, or refer to the 2D/3D Geometry tutorial in the wiki.
|
Homogeneous transfomation matrix |
Spatial representation | ||||||||||||||||
|
| ||||||||||||||||
Definition at line 154 of file CPose2D.h.
| typedef const double& mrpt::poses::CPose2D::const_reference |
| typedef std::ptrdiff_t mrpt::poses::CPose2D::difference_type |
| typedef double& mrpt::poses::CPose2D::reference |
| typedef std::size_t mrpt::poses::CPose2D::size_type |
| typedef double mrpt::poses::CPose2D::value_type |
| mrpt::poses::CPose2D::CPose2D | ( | const double & | x = 0, |
|
| const double & | y = 0, |
|||
| const double & | phi = 0 | |||
| ) |
Constructor from an initial value of the pose.
| mrpt::poses::CPose2D::CPose2D | ( | const CPose3D & | ) | [explicit] |
Aproximation!! Avoid its use, since information is lost.
| mrpt::poses::CPose2D::CPose2D | ( | const mrpt::math::TPose2D & | ) |
Constructor from lightweight object.
| mrpt::poses::CPose2D::CPose2D | ( | const CPoint3D & | ) | [explicit] |
Constructor from CPoint3D with information loss.
| void mrpt::poses::CPose2D::AddComponents | ( | CPose2D & | p | ) |
Scalar sum of components: This is diferent from poses composition, which is implemented as "+" operators in "CPose" derived classes.
| std::string mrpt::poses::CPose2D::asString | ( | ) | const [inline] |
| void mrpt::poses::CPose2D::asString | ( | std::string & | s | ) | const [inline, virtual] |
Returns a human-readable textual representation of the object (eg: "[x y yaw]", yaw in degrees).
Implements mrpt::poses::CPoseOrPoint.
Definition at line 251 of file CPose2D.h.
References mrpt::format(), and mrpt::utils::RAD2DEG().
Makes
.
| void mrpt::poses::CPose2D::composePoint | ( | double | lx, | |
| double | ly, | |||
| double & | gx, | |||
| double & | gy | |||
| ) | const |
An alternative, slightly more efficient way of doing
with G and L being 2D points and P this 2D pose.
| static bool mrpt::poses::CPose2D::empty | ( | ) | [inline, static] |
| void mrpt::poses::CPose2D::fromString | ( | const std::string & | s | ) | [inline, virtual] |
Set the current object value from a string generated by 'asString' (eg: "[0.02 1.04 -0.8]" ).
| std::exception | On invalid format |
Implements mrpt::poses::CPoseOrPoint.
Definition at line 258 of file CPose2D.h.
References ASSERTMSG_, mrpt::utils::DEG2RAD(), mrpt::math::CMatrixTemplate< T >::fromMatlabStringFormat(), mrpt::math::CMatrixTemplate< T >::get_unsafe(), mrpt::math::size(), and THROW_EXCEPTION.
| void mrpt::poses::CPose2D::getAsVector | ( | vector_double & | v | ) | const [virtual] |
Returns a 1x3 vector with [x y phi].
Implements mrpt::poses::CPoseOrPoint.
| void mrpt::poses::CPose2D::getHomogeneousMatrix | ( | CMatrixDouble44 & | out_HM | ) | const [virtual] |
Returns the corresponding 4x4 homogeneous transformation matrix for the point(translation) or pose (translation+orientation).
Implements mrpt::poses::CPoseOrPoint.
| static size_type mrpt::poses::CPose2D::max_size | ( | ) | [inline, static] |
| void mrpt::poses::CPose2D::normalizePhi | ( | ) |
Forces "phi" to be in the range [-pi,pi];.
| void mrpt::poses::CPose2D::operator*= | ( | const double | s | ) | [virtual] |
Scalar multiplication.
Implements mrpt::poses::CPoseOrPoint.
The operator
is the pose/point compounding operator.
The operator
is the pose/point compounding operator.
The operator
is the pose compounding operator.
The operator
is the pose compounding operator.
The operator
is the pose inverse compounding operator, the resulting pose D fulfils:
, that is:
.
| double& mrpt::poses::CPose2D::operator[] | ( | unsigned int | i | ) | [inline] |
| const double& mrpt::poses::CPose2D::operator[] | ( | unsigned int | i | ) | const [inline] |
| void mrpt::poses::CPose2D::phi | ( | double | angle | ) | [inline] |
| double mrpt::poses::CPose2D::phi | ( | ) | const [inline] |
Get the phi angle of the 2D pose (in radians).
Definition at line 184 of file CPose2D.h.
Referenced by mrpt::poses::CRobot2DPoseEstimator::getLatestRobotPose().
| void mrpt::poses::CPose2D::phi_incr | ( | const double | Aphi | ) | [inline] |
| static void mrpt::poses::CPose2D::resize | ( | const size_t | n | ) | [inline, static] |
Definition at line 303 of file CPose2D.h.
References mrpt::format().
| static size_type mrpt::poses::CPose2D::size | ( | ) | [inline, static] |
double mrpt::poses::CPose2D::m_phi [protected] |
| Page generated by Doxygen 1.6.1 for MRPT 0.9.0 SVN: at Mon Jun 7 06:47:58 UTC 2010 |