A base class for representing a pose in 2D or 3D.
For more information refer to the 2D/3D Geometry tutorial online.
#include <mrpt/poses/CPose.h>
double | x () const |
Common members of all points & poses classes. | |
double & | x () |
void | x (const double v) |
double | y () const |
double & | y () |
void | y (const double v) |
void | x_incr (const double v) |
void | y_incr (const double v) |
template<class OTHERCLASS > | |
double | sqrDistanceTo (const CPoseOrPoint< OTHERCLASS > &b) const |
Returns the squared euclidean distance to another pose/point: | |
template<class OTHERCLASS > | |
double | distanceTo (const CPoseOrPoint< OTHERCLASS > &b) const |
Returns the Euclidean distance to another pose/point: | |
double | distanceTo (const mrpt::math::TPoint3D &b) const |
Returns the euclidean distance to a 3D point: | |
double | distance2DToSquare (double ax, double ay) const |
Returns the squared 2D distance from this pose/point to a 2D point (ignores Z, if it exists). | |
double | distance3DToSquare (double ax, double ay, double az) const |
Returns the squared 3D distance from this pose/point to a 3D point. | |
double | distance2DTo (double ax, double ay) const |
Returns the 2D distance from this pose/point to a 2D point (ignores Z, if it exists). | |
double | distance3DTo (double ax, double ay, double az) const |
Returns the 3D distance from this pose/point to a 3D point. | |
double | norm () const |
Returns the euclidean norm of vector: ![]() | |
mrpt::math::CVectorDouble | getAsVectorVal () const |
Return the pose or point as a 1xN vector with all the components (see derived classes for each implementation) | |
mrpt::math::CMatrixDouble44 | getHomogeneousMatrixVal () const |
Returns the corresponding 4x4 homogeneous transformation matrix for the point(translation) or pose (translation+orientation). | |
void | getInverseHomogeneousMatrix (mrpt::math::CMatrixDouble44 &out_HM) const |
Returns the corresponding 4x4 inverse homogeneous transformation matrix for this point or pose. | |
mrpt::math::CMatrixDouble44 | getInverseHomogeneousMatrix () const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
virtual void | setToNaN ()=0 |
Set all data fields to quiet NaN. | |
static bool | is3DPoseOrPoint () |
Return true for poses or points with a Z component, false otherwise. | |
|
inlineinherited |
Returns the 2D distance from this pose/point to a 2D point (ignores Z, if it exists).
Definition at line 165 of file CPoseOrPoint.h.
References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance2DToSquare().
|
inlineinherited |
Returns the squared 2D distance from this pose/point to a 2D point (ignores Z, if it exists).
Definition at line 156 of file CPoseOrPoint.h.
References mrpt::utils::square(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::x(), and mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::y().
Referenced by mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance2DTo().
|
inlineinherited |
Returns the 3D distance from this pose/point to a 3D point.
Definition at line 168 of file CPoseOrPoint.h.
References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance3DToSquare().
Referenced by mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distanceTo().
|
inlineinherited |
Returns the squared 3D distance from this pose/point to a 3D point.
Definition at line 159 of file CPoseOrPoint.h.
References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::is3DPoseOrPoint(), mrpt::utils::square(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::x(), and mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::y().
Referenced by mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance3DTo().
|
inlineinherited |
Returns the Euclidean distance to another pose/point:
Definition at line 150 of file CPoseOrPoint.h.
References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::sqrDistanceTo().
|
inlineinherited |
Returns the euclidean distance to a 3D point:
Definition at line 171 of file CPoseOrPoint.h.
References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance3DTo(), mrpt::math::TPoint3D::x, mrpt::math::TPoint3D::y, and mrpt::math::TPoint3D::z.
|
inlineinherited |
Return the pose or point as a 1xN vector with all the components (see derived classes for each implementation)
Definition at line 181 of file CPoseOrPoint.h.
|
inlineinherited |
Returns the corresponding 4x4 homogeneous transformation matrix for the point(translation) or pose (translation+orientation).
Definition at line 191 of file CPoseOrPoint.h.
References mrpt::math::UNINITIALIZED_MATRIX.
|
inlineinherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 208 of file CPoseOrPoint.h.
References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::getInverseHomogeneousMatrix(), and mrpt::math::UNINITIALIZED_MATRIX.
Referenced by mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::getInverseHomogeneousMatrix().
|
inlineinherited |
Returns the corresponding 4x4 inverse homogeneous transformation matrix for this point or pose.
Definition at line 201 of file CPoseOrPoint.h.
References mrpt::math::homogeneousMatrixInverse().
|
inlinestaticinherited |
Return true for poses or points with a Z component, false otherwise.
Definition at line 127 of file CPoseOrPoint.h.
Referenced by mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance3DToSquare(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::norm(), mrpt::poses::operator<(), mrpt::poses::operator<<(), and mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::sqrDistanceTo().
|
inlineinherited |
Returns the euclidean norm of vector:
Definition at line 174 of file CPoseOrPoint.h.
References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::is3DPoseOrPoint(), mrpt::utils::square(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::x(), and mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::y().
|
pure virtualinherited |
Set all data fields to quiet NaN.
Implemented in mrpt::poses::CPoint2D, mrpt::poses::CPoint3D, mrpt::poses::CPose2D, mrpt::poses::CPose3D, mrpt::poses::CPose3DQuat, and mrpt::poses::CPose3DRotVec.
|
inlineinherited |
Returns the squared euclidean distance to another pose/point:
Definition at line 130 of file CPoseOrPoint.h.
References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::is3DPoseOrPoint(), mrpt::utils::square(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::x(), and mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::y().
Referenced by mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distanceTo().
|
inlineinherited |
Definition at line 116 of file CPoseOrPoint.h.
|
inlineinherited |
Common members of all points & poses classes.
< Get X coord.
Definition at line 113 of file CPoseOrPoint.h.
Referenced by mrpt::poses::CPoint< DERIVEDCLASS >::asString(), mrpt::graphs::detail::graph_ops< graph_t >::auxEuclid2Dist(), mrpt::graphs::detail::graph_ops< graph_t >::auxEuclid2Dist(), mrpt::poses::CPoint2D::CPoint2D(), mrpt::nav::PoseDistanceMetric< TNodeSE2_TP >::distance(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance2DToSquare(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance3DToSquare(), mrpt::poses::SE_traits< 2 >::exp(), mrpt::poses::CPoint< DERIVEDCLASS >::getHomogeneousMatrix(), mrpt::utils::CRobotSimulator::getX(), mrpt::opengl::graph_tools::graph_visualize(), mrpt::maps::CColouredPointsMap::insertPoint(), mrpt::maps::COctoMapBase< OCTREE, OCTREE_NODE >::internal_build_PointCloud_for_observation(), mrpt::poses::SE_traits< 2 >::ln(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::norm(), mrpt::poses::operator<(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::sqrDistanceTo(), mrpt::graphs::detail::graph_ops< graph_t >::write_EDGE_line(), mrpt::graphs::detail::graph_ops< graph_t >::write_EDGE_line(), mrpt::graphs::detail::graph_ops< graph_t >::write_VERTEX_line(), and mrpt::graphs::detail::graph_ops< graph_t >::write_VERTEX_line().
|
inlineinherited |
v | Set X coord. |
Definition at line 119 of file CPoseOrPoint.h.
|
inlineinherited |
v | X+=v |
Definition at line 122 of file CPoseOrPoint.h.
|
inlineinherited |
Definition at line 117 of file CPoseOrPoint.h.
|
inlineinherited |
< Get Y coord.
Definition at line 114 of file CPoseOrPoint.h.
Referenced by mrpt::poses::CPoint< DERIVEDCLASS >::asString(), mrpt::graphs::detail::graph_ops< graph_t >::auxEuclid2Dist(), mrpt::graphs::detail::graph_ops< graph_t >::auxEuclid2Dist(), mrpt::poses::CPoint2D::CPoint2D(), mrpt::nav::PoseDistanceMetric< TNodeSE2_TP >::distance(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance2DToSquare(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance3DToSquare(), mrpt::poses::SE_traits< 2 >::exp(), mrpt::poses::CPoint< DERIVEDCLASS >::getHomogeneousMatrix(), mrpt::utils::CRobotSimulator::getY(), mrpt::opengl::graph_tools::graph_visualize(), mrpt::maps::CColouredPointsMap::insertPoint(), mrpt::maps::COctoMapBase< OCTREE, OCTREE_NODE >::internal_build_PointCloud_for_observation(), mrpt::poses::SE_traits< 2 >::ln(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::norm(), mrpt::poses::operator<(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::sqrDistanceTo(), mrpt::graphs::detail::graph_ops< graph_t >::write_EDGE_line(), mrpt::graphs::detail::graph_ops< graph_t >::write_EDGE_line(), mrpt::graphs::detail::graph_ops< graph_t >::write_VERTEX_line(), and mrpt::graphs::detail::graph_ops< graph_t >::write_VERTEX_line().
|
inlineinherited |
v | Set Y coord. |
Definition at line 120 of file CPoseOrPoint.h.
|
inlineinherited |
v | Y+=v |
Definition at line 123 of file CPoseOrPoint.h.
Page generated by Doxygen 1.9.7 for MRPT 1.4.0 SVN: at Tue Jun 13 14:27:49 UTC 2023 |