Main MRPT website > C++ reference for MRPT 1.4.0
List of all members
mrpt::poses::CPose< DERIVEDCLASS > Class Template Referenceabstract

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
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} $.
 
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.
 

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.

References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance2DToSquare().

◆ 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 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().

◆ 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.

References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance3DToSquare().

Referenced by mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distanceTo().

◆ distance3DToSquare()

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

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

References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::sqrDistanceTo().

◆ 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.

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

◆ getAsVectorVal()

template<class DERIVEDCLASS >
mrpt::math::CVectorDouble 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 181 of file CPoseOrPoint.h.

◆ getHomogeneousMatrixVal()

template<class DERIVEDCLASS >
mrpt::math::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 191 of file CPoseOrPoint.h.

References mrpt::math::UNINITIALIZED_MATRIX.

◆ getInverseHomogeneousMatrix() [1/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 208 of file CPoseOrPoint.h.

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

Referenced by mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::getInverseHomogeneousMatrix().

◆ getInverseHomogeneousMatrix() [2/2]

template<class DERIVEDCLASS >
void mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::getInverseHomogeneousMatrix ( mrpt::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 201 of file CPoseOrPoint.h.

References mrpt::math::homogeneousMatrixInverse().

◆ is3DPoseOrPoint()

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

◆ norm()

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

◆ setToNaN()

template<class DERIVEDCLASS >
virtual void mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::setToNaN ( )
pure virtualinherited

◆ sqrDistanceTo()

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

◆ x() [1/3]

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

Definition at line 116 of file CPoseOrPoint.h.

◆ x() [2/3]

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

◆ x() [3/3]

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

Definition at line 119 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 122 of file CPoseOrPoint.h.

◆ y() [1/3]

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

Definition at line 117 of file CPoseOrPoint.h.

◆ y() [2/3]

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

◆ y() [3/3]

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

Definition at line 120 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 123 of file CPoseOrPoint.h.




Page generated by Doxygen 1.9.6 for MRPT 1.4.0 SVN: at Wed Mar 22 06:08:57 UTC 2023