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

Detailed Description

template<class DERIVEDCLASS>
class mrpt::poses::CPose< DERIVEDCLASS >

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

Definition at line 44 of file CPose.h.

#include <mrpt/poses/CPose.h>

Inheritance diagram for mrpt::poses::CPose< DERIVEDCLASS >:
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)
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: $ ||\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

template<class DERIVEDCLASS>
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::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.

template<class DERIVEDCLASS>
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::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.

template<class DERIVEDCLASS>
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::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.

template<class DERIVEDCLASS>
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::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.

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

Returns the Euclidean distance to another pose/point:

Definition at line 170 of file CPoseOrPoint.h.

template<class DERIVEDCLASS>
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::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.

template<class DERIVEDCLASS>
vector_double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::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.

template<class DERIVEDCLASS>
CMatrixDouble44 mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::getHomogeneousMatrixVal ( ) const [inline, inherited]

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

See also:
getInverseHomogeneousMatrix

Reimplemented in mrpt::poses::CPose3D, and mrpt::poses::CPose3DRotVec.

Definition at line 209 of file CPoseOrPoint.h.

template<class DERIVEDCLASS>
void mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::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.

Referenced by mrpt::poses::CPose< DERIVEDCLASS >::operator-().

template<class DERIVEDCLASS>
mrpt::math::CMatrixDouble44 mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::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.

template<class DERIVEDCLASS>
static bool mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::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(), and mrpt::poses::CPoseOrPoint< CPoint3D >::sqrDistanceTo().

template<class DERIVEDCLASS>
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::norm ( ) const [inline, inherited]

Returns the euclidean norm of vector: $ ||\mathbf{x}|| = \sqrt{x^2+y^2+z^2} $.

Definition at line 193 of file CPoseOrPoint.h.

template<class DERIVEDCLASS >
CPose3D mrpt::poses::CPose< DERIVEDCLASS >::operator- ( const CPose3D b) const

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

Reimplemented in mrpt::poses::CPose3D.

Definition at line 508 of file CPose3D.h.

References mrpt::poses::CPose3D, mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::getInverseHomogeneousMatrix(), and mrpt::math::UNINITIALIZED_MATRIX.

template<class DERIVEDCLASS>
template<class OTHERCLASS >
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::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.

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

Definition at line 141 of file CPoseOrPoint.h.

template<class DERIVEDCLASS>
double& mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::x ( ) [inline, inherited]

Definition at line 138 of file CPoseOrPoint.h.

template<class DERIVEDCLASS>
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::x ( ) const [inline, inherited]
template<class DERIVEDCLASS>
void mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::x_incr ( const double  v) [inline, inherited]
Parameters:
vX+=v

Definition at line 144 of file CPoseOrPoint.h.

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

Definition at line 142 of file CPoseOrPoint.h.

template<class DERIVEDCLASS>
double& mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::y ( ) [inline, inherited]

Definition at line 139 of file CPoseOrPoint.h.

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

Definition at line 145 of file CPoseOrPoint.h.




Page generated by Doxygen 1.7.4 for MRPT 0.9.5 SVN:2717 at Sun Oct 16 16:08:03 PDT 2011 Hosted on:
SourceForge.net Logo