Main MRPT website > C++ reference
MRPT logo
Public Member Functions
mrpt::poses::CPose Class Reference

Detailed Description

A base class for representing a pose in 2D or 3D.

For more information refer to the 2D/3D Geometry tutorial online.

Note:
This class is based on the CRTP design pattern
See also:
CPoseOrPoint, CPoint

#include <mrpt/poses/CPose.h>

Inheritance diagram for mrpt::poses::CPose:
Inheritance graph
[legend]

List of all members.

Public Member Functions

CPose3D operator- (const CPose3D &b) const
 The operator $ a \ominus b $ is the pose inverse compounding operator.
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)
double sqrDistanceTo (const CPoseOrPoint< OTHERCLASS > &b) const
 Returns the squared euclidean distance to another pose/point:
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: $ ||\mathbf{x}|| = \sqrt{x^2+y^2+z^2} $.
vector_double getAsVectorVal () const
 Return the pose or point as a 1xN vector with all the components (see derived classes for each implementation)
CMatrixDouble44 getHomogeneousMatrixVal () const
 Returns the corresponding 4x4 homogeneous transformation matrix for the point(translation) or pose (translation+orientation).
void getInverseHomogeneousMatrix (math::CMatrixDouble44 &out_HM) const
 Returns the corresponding 4x4 inverse homogeneous transformation matrix for this point or pose.
mrpt::math::CMatrixDouble44 getInverseHomogeneousMatrix () const
static bool is3DPoseOrPoint ()
 Return true for poses or points with a Z component, false otherwise.

Member Function Documentation

double mrpt::poses::CPoseOrPoint::distance2DTo ( double  ax,
double  ay 
) const [inline, inherited]

Returns the 2D distance from this pose/point to a 2D point (ignores Z, if it exists).

Definition at line 184 of file CPoseOrPoint.h.

References mrpt::poses::CPoseOrPoint::distance2DToSquare().

double mrpt::poses::CPoseOrPoint::distance2DToSquare ( double  ax,
double  ay 
) const [inline, inherited]

Returns the squared 2D distance from this pose/point to a 2D point (ignores Z, if it exists).

Definition at line 176 of file CPoseOrPoint.h.

References mrpt::utils::square(), mrpt::poses::CPoseOrPoint::x(), and mrpt::poses::CPoseOrPoint::y().

double mrpt::poses::CPoseOrPoint::distance3DTo ( double  ax,
double  ay,
double  az 
) const [inline, inherited]

Returns the 3D distance from this pose/point to a 3D point.

Definition at line 187 of file CPoseOrPoint.h.

References mrpt::poses::CPoseOrPoint::distance3DToSquare().

double mrpt::poses::CPoseOrPoint::distance3DToSquare ( double  ax,
double  ay,
double  az 
) const [inline, inherited]

Returns the squared 3D distance from this pose/point to a 3D point.

Definition at line 179 of file CPoseOrPoint.h.

References mrpt::utils::square(), mrpt::poses::CPoseOrPoint::x(), mrpt::poses::CPoseOrPoint::y(), and mrpt::poses::CPoseOrPoint::is3DPoseOrPoint().

double mrpt::poses::CPoseOrPoint::distanceTo ( const CPoseOrPoint< OTHERCLASS > &  b) const [inline, inherited]

Returns the Euclidean distance to another pose/point:

Definition at line 170 of file CPoseOrPoint.h.

References mrpt::poses::CPoseOrPoint::sqrDistanceTo().

double mrpt::poses::CPoseOrPoint::distanceTo ( const mrpt::math::TPoint3D b) const [inline, inherited]

Returns the euclidean distance to a 3D point:

Definition at line 190 of file CPoseOrPoint.h.

References mrpt::poses::CPoseOrPoint::distance3DTo(), mrpt::math::TPoint3D::x, mrpt::math::TPoint3D::y, and mrpt::math::TPoint3D::z.

vector_double mrpt::poses::CPoseOrPoint::getAsVectorVal ( ) const [inline, inherited]

Return the pose or point as a 1xN vector with all the components (see derived classes for each implementation)

Definition at line 199 of file CPoseOrPoint.h.

CMatrixDouble44 mrpt::poses::CPoseOrPoint::getHomogeneousMatrixVal ( ) const [inline, inherited]

Returns the corresponding 4x4 homogeneous transformation matrix for the point(translation) or pose (translation+orientation).

See also:
getInverseHomogeneousMatrix

Definition at line 209 of file CPoseOrPoint.h.

References mrpt::math::UNINITIALIZED_MATRIX.

void mrpt::poses::CPoseOrPoint::getInverseHomogeneousMatrix ( math::CMatrixDouble44 out_HM) const [inline, inherited]

Returns the corresponding 4x4 inverse homogeneous transformation matrix for this point or pose.

See also:
getHomogeneousMatrix

Definition at line 219 of file CPoseOrPoint.h.

References mrpt::math::homogeneousMatrixInverse().

mrpt::math::CMatrixDouble44 mrpt::poses::CPoseOrPoint::getInverseHomogeneousMatrix ( ) const [inline, inherited]

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 226 of file CPoseOrPoint.h.

References mrpt::math::UNINITIALIZED_MATRIX, and mrpt::poses::CPoseOrPoint::getInverseHomogeneousMatrix().

static bool mrpt::poses::CPoseOrPoint::is3DPoseOrPoint ( ) [inline, static, inherited]

Return true for poses or points with a Z component, false otherwise.

Definition at line 149 of file CPoseOrPoint.h.

Referenced by mrpt::poses::CPoint< CPoint3D >::asString().

double mrpt::poses::CPoseOrPoint::norm ( ) const [inline, inherited]
CPose3D mrpt::poses::CPose::operator- ( const CPose3D b) const

The operator $ a \ominus b $ is the pose inverse compounding operator.

Reimplemented in mrpt::poses::CPose3D.

Definition at line 506 of file CPose3D.h.

References mrpt::math::UNINITIALIZED_MATRIX.

double mrpt::poses::CPoseOrPoint::sqrDistanceTo ( const CPoseOrPoint< OTHERCLASS > &  b) const [inline, inherited]

Returns the squared euclidean distance to another pose/point:

Definition at line 152 of file CPoseOrPoint.h.

References mrpt::poses::CPoseOrPoint::is3DPoseOrPoint(), mrpt::utils::square(), mrpt::poses::CPoseOrPoint::x(), and mrpt::poses::CPoseOrPoint::y().

double mrpt::poses::CPoseOrPoint::x ( ) const [inline, inherited]

Common members of all points & poses classes.

< Get X coord.

Definition at line 135 of file CPoseOrPoint.h.

Referenced by mrpt::poses::CPoint< CPoint3D >::getHomogeneousMatrix().

double& mrpt::poses::CPoseOrPoint::x ( ) [inline, inherited]

Definition at line 138 of file CPoseOrPoint.h.

void mrpt::poses::CPoseOrPoint::x ( const double  v) [inline, inherited]
Parameters:
vSet X coord.

Definition at line 141 of file CPoseOrPoint.h.

void mrpt::poses::CPoseOrPoint::x_incr ( const double  v) [inline, inherited]
Parameters:
vX+=v

Definition at line 144 of file CPoseOrPoint.h.

double mrpt::poses::CPoseOrPoint::y ( ) const [inline, inherited]
double& mrpt::poses::CPoseOrPoint::y ( ) [inline, inherited]

Definition at line 139 of file CPoseOrPoint.h.

void mrpt::poses::CPoseOrPoint::y ( const double  v) [inline, inherited]
Parameters:
vSet Y coord.

Definition at line 142 of file CPoseOrPoint.h.

void mrpt::poses::CPoseOrPoint::y_incr ( const double  v) [inline, inherited]
Parameters:
vY+=v

Definition at line 145 of file CPoseOrPoint.h.




Page generated by Doxygen 1.7.5 for MRPT 0.9.5 SVN: at Thu Oct 13 21:25:36 UTC 2011