Main MRPT website > C++ reference
MRPT logo
List of all members | 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 25 of file CPose.h.

#include <mrpt/poses/CPose.h>

Inheritance diagram for mrpt::poses::CPose< DERIVEDCLASS >:
Inheritance graph
[legend]

Public Member Functions

CPose3D operator- (const CPose3D &b) const
 The operator $ a \ominus b $ is the pose inverse compounding operator. More...
 
double x () const
 Common members of all points & poses classes. More...
 
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: More...
 
template<class OTHERCLASS >
double distanceTo (const CPoseOrPoint< OTHERCLASS > &b) const
 Returns the Euclidean distance to another pose/point: More...
 
double distanceTo (const mrpt::math::TPoint3D &b) const
 Returns the euclidean distance to a 3D point: More...
 
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). More...
 
double distance3DToSquare (double ax, double ay, double az) const
 Returns the squared 3D distance from this pose/point to a 3D point. More...
 
double distance2DTo (double ax, double ay) const
 Returns the 2D distance from this pose/point to a 2D point (ignores Z, if it exists). More...
 
double distance3DTo (double ax, double ay, double az) const
 Returns the 3D distance from this pose/point to a 3D point. More...
 
double norm () const
 Returns the euclidean norm of vector: $ ||\mathbf{x}|| = \sqrt{x^2+y^2+z^2} $. More...
 
vector_double getAsVectorVal () const
 Return the pose or point as a 1xN vector with all the components (see derived classes for each implementation) More...
 
CMatrixDouble44 getHomogeneousMatrixVal () const
 Returns the corresponding 4x4 homogeneous transformation matrix for the point(translation) or pose (translation+orientation). More...
 
void getInverseHomogeneousMatrix (math::CMatrixDouble44 &out_HM) const
 Returns the corresponding 4x4 inverse homogeneous transformation matrix for this point or pose. More...
 
mrpt::math::CMatrixDouble44 getInverseHomogeneousMatrix () const
 
static bool is3DPoseOrPoint ()
 Return true for poses or points with a Z component, false otherwise. More...
 

Member Function Documentation

◆ distance2DTo()

template<class DERIVEDCLASS>
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance2DTo ( double  ax,
double  ay 
) const
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.

◆ distance2DToSquare()

template<class DERIVEDCLASS>
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance2DToSquare ( double  ax,
double  ay 
) const
inlineinherited

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

Definition at line 157 of file CPoseOrPoint.h.

◆ distance3DTo()

template<class DERIVEDCLASS>
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance3DTo ( double  ax,
double  ay,
double  az 
) const
inlineinherited

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

Definition at line 168 of file CPoseOrPoint.h.

◆ distance3DToSquare()

template<class DERIVEDCLASS>
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance3DToSquare ( double  ax,
double  ay,
double  az 
) const
inlineinherited

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

Definition at line 160 of file CPoseOrPoint.h.

◆ distanceTo() [1/2]

template<class DERIVEDCLASS>
template<class OTHERCLASS >
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distanceTo ( const CPoseOrPoint< OTHERCLASS > &  b) const
inlineinherited

Returns the Euclidean distance to another pose/point:

Definition at line 151 of file CPoseOrPoint.h.

◆ distanceTo() [2/2]

template<class DERIVEDCLASS>
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distanceTo ( const mrpt::math::TPoint3D b) const
inlineinherited

Returns the euclidean distance to a 3D point:

Definition at line 171 of file CPoseOrPoint.h.

◆ getAsVectorVal()

template<class DERIVEDCLASS>
vector_double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::getAsVectorVal ( ) const
inlineinherited

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

Definition at line 180 of file CPoseOrPoint.h.

◆ getHomogeneousMatrixVal()

template<class DERIVEDCLASS>
CMatrixDouble44 mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::getHomogeneousMatrixVal ( ) const
inlineinherited

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

See also
getInverseHomogeneousMatrix

Definition at line 190 of file CPoseOrPoint.h.

◆ getInverseHomogeneousMatrix() [1/2]

template<class DERIVEDCLASS>
void mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::getInverseHomogeneousMatrix ( math::CMatrixDouble44 out_HM) const
inlineinherited

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

See also
getHomogeneousMatrix

Definition at line 200 of file CPoseOrPoint.h.

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

◆ getInverseHomogeneousMatrix() [2/2]

template<class DERIVEDCLASS>
mrpt::math::CMatrixDouble44 mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::getInverseHomogeneousMatrix ( ) const
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 207 of file CPoseOrPoint.h.

◆ is3DPoseOrPoint()

template<class DERIVEDCLASS>
static bool mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::is3DPoseOrPoint ( )
inlinestaticinherited

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

Definition at line 130 of file CPoseOrPoint.h.

◆ norm()

template<class DERIVEDCLASS>
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::norm ( ) const
inlineinherited

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

Definition at line 174 of file CPoseOrPoint.h.

◆ operator-()

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

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

Definition at line 535 of file CPose3D.h.

◆ sqrDistanceTo()

template<class DERIVEDCLASS>
template<class OTHERCLASS >
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::sqrDistanceTo ( const CPoseOrPoint< OTHERCLASS > &  b) const
inlineinherited

Returns the squared euclidean distance to another pose/point:

Definition at line 133 of file CPoseOrPoint.h.

◆ x() [1/3]

template<class DERIVEDCLASS>
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::x ( ) const
inlineinherited

◆ x() [2/3]

template<class DERIVEDCLASS>
double& mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::x ( )
inlineinherited

Definition at line 119 of file CPoseOrPoint.h.

◆ x() [3/3]

template<class DERIVEDCLASS>
void mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::x ( const double  v)
inlineinherited
Parameters
vSet X coord.

Definition at line 122 of file CPoseOrPoint.h.

◆ x_incr()

template<class DERIVEDCLASS>
void mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::x_incr ( const double  v)
inlineinherited
Parameters
vX+=v

Definition at line 125 of file CPoseOrPoint.h.

◆ y() [1/3]

template<class DERIVEDCLASS>
double mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::y ( ) const
inlineinherited

◆ y() [2/3]

template<class DERIVEDCLASS>
double& mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::y ( )
inlineinherited

Definition at line 120 of file CPoseOrPoint.h.

◆ y() [3/3]

template<class DERIVEDCLASS>
void mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::y ( const double  v)
inlineinherited
Parameters
vSet Y coord.

Definition at line 123 of file CPoseOrPoint.h.

◆ y_incr()

template<class DERIVEDCLASS>
void mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::y_incr ( const double  v)
inlineinherited
Parameters
vY+=v

Definition at line 126 of file CPoseOrPoint.h.




Page generated by Doxygen 1.8.14 for MRPT 1.1.0 SVN: at lun oct 28 00:54:49 CET 2019 Hosted on:
SourceForge.net Logo