Main MRPT website > C++ reference
MRPT logo
Public Types | Public Member Functions | Static Public Member Functions

mrpt::poses::CPosePDF Class Reference


Detailed Description

Declares a class that represents a probability density function (pdf) of a 2D pose (x,y,phi).

This class is just the base class for unifying many diferent ways this pdf can be implemented.

For convenience, a pose composition is also defined for any pdf derived class, changeCoordinatesReference, in the form of a method rather than an operator.

See also the tutorial on probabilistic spatial representations in the MRPT.

See also:
CPose2D, CPose3DPDF, CPoseRandomSampler

Definition at line 58 of file CPosePDF.h.

#include <mrpt/poses/CPosePDF.h>

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

List of all members.

Public Types

enum  { is_3D_val = 0 }
enum  { is_PDF_val = 1 }

Public Member Functions

 MRPT_DECLARE_DEPRECATED_FUNCTION ("**deprecated** Use getMean instead", CPose2D getEstimatedPose() const )
 Returns an estimate of the pose, (the mean, or mathematical expectation of the PDF).
virtual void copyFrom (const CPosePDF &o)=0
 Copy operator, translating if necesary (for example, between particles and gaussian representations).
virtual void bayesianFusion (const CPosePDF &p1, const CPosePDF &p2, const double &minMahalanobisDistToDrop=0)=0
 Bayesian fusion of two pose distributions (product of two distributions->new distribution), then save the result in this object (WARNING: See implementing classes to see classes that can and cannot be mixtured!).
virtual void inverse (CPosePDF &o) const =0
 Returns a new PDF such as: NEW_PDF = (0,0,0) - THIS_PDF.
template<class OPENGL_SETOFOBJECTSPTR >
void getAs3DObject (OPENGL_SETOFOBJECTSPTR &out_obj) const
 Returns a 3D representation of this PDF.
template<class OPENGL_SETOFOBJECTSPTR >
OPENGL_SETOFOBJECTSPTR getAs3DObject () const
 Returns a 3D representation of this PDF.

Static Public Member Functions

static bool is_3D ()
static bool is_PDF ()

RTTI stuff



static const
mrpt::utils::TRuntimeClassId 
classCPosePDF
class mrpt::utils::CStream
static const
mrpt::utils::TRuntimeClassId
_GetBaseClass ()
virtual const
mrpt::utils::TRuntimeClassId
GetRuntimeClass () const
 Returns information about the class of an object in runtime.

Member Enumeration Documentation

anonymous enum
Enumerator:
is_3D_val 

Definition at line 89 of file CPosePDF.h.

anonymous enum
Enumerator:
is_PDF_val 

Definition at line 91 of file CPosePDF.h.


Member Function Documentation

static const mrpt::utils::TRuntimeClassId* mrpt::poses::CPosePDF::_GetBaseClass (  )  [static, protected]
virtual void mrpt::poses::CPosePDF::bayesianFusion ( const CPosePDF p1,
const CPosePDF p2,
const double &  minMahalanobisDistToDrop = 0 
) [pure virtual]

Bayesian fusion of two pose distributions (product of two distributions->new distribution), then save the result in this object (WARNING: See implementing classes to see classes that can and cannot be mixtured!).

Parameters:
p1 The first distribution to fuse
p2 The second distribution to fuse
minMahalanobisDistToDrop If set to different of 0, the result of very separate Gaussian modes (that will result in negligible components) in SOGs will be dropped to reduce the number of modes in the output.

Implemented in mrpt::poses::CPosePDFGaussian, mrpt::poses::CPosePDFGaussianInf, mrpt::poses::CPosePDFGrid, mrpt::poses::CPosePDFParticles, and mrpt::poses::CPosePDFSOG.

virtual void mrpt::poses::CPosePDF::copyFrom ( const CPosePDF o  )  [pure virtual]

Copy operator, translating if necesary (for example, between particles and gaussian representations).

Implemented in mrpt::poses::CPosePDFGaussian, mrpt::poses::CPosePDFGaussianInf, mrpt::poses::CPosePDFGrid, mrpt::poses::CPosePDFParticles, and mrpt::poses::CPosePDFSOG.

template<class OPENGL_SETOFOBJECTSPTR >
void mrpt::poses::CPosePDF::getAs3DObject ( OPENGL_SETOFOBJECTSPTR &  out_obj  )  const [inline]

Returns a 3D representation of this PDF.

Note:
Needs the mrpt-opengl library, and using mrpt::opengl::CSetOfObjectsPtr as template argument.

Definition at line 98 of file CPosePDF.h.

template<class OPENGL_SETOFOBJECTSPTR >
OPENGL_SETOFOBJECTSPTR mrpt::poses::CPosePDF::getAs3DObject (  )  const [inline]

Returns a 3D representation of this PDF.

Note:
Needs the mrpt-opengl library, and using mrpt::opengl::CSetOfObjectsPtr as template argument.

Definition at line 106 of file CPosePDF.h.

virtual const mrpt::utils::TRuntimeClassId* mrpt::poses::CPosePDF::GetRuntimeClass (  )  const [virtual]

Returns information about the class of an object in runtime.

Reimplemented from mrpt::utils::CSerializable.

Reimplemented in mrpt::poses::CPosePDFGaussian, mrpt::poses::CPosePDFGaussianInf, mrpt::poses::CPosePDFGrid, mrpt::poses::CPosePDFParticles, and mrpt::poses::CPosePDFSOG.

virtual void mrpt::poses::CPosePDF::inverse ( CPosePDF o  )  const [pure virtual]
static bool mrpt::poses::CPosePDF::is_3D (  )  [inline, static]

Definition at line 90 of file CPosePDF.h.

static bool mrpt::poses::CPosePDF::is_PDF (  )  [inline, static]

Definition at line 92 of file CPosePDF.h.

mrpt::poses::CPosePDF::MRPT_DECLARE_DEPRECATED_FUNCTION ( "**deprecated** Use getMean instead"  ,
CPose2D getEstimatedPose()  const 
) [inline]

Returns an estimate of the pose, (the mean, or mathematical expectation of the PDF).

Definition at line 65 of file CPosePDF.h.


Friends And Related Function Documentation

friend class mrpt::utils::CStream [friend]

Reimplemented from mrpt::utils::CSerializable.

Definition at line 60 of file CPosePDF.h.


Member Data Documentation

Definition at line 60 of file CPosePDF.h.




Page generated by Doxygen 1.7.1 for MRPT 0.9.4 SVN: at Mon Jan 10 23:33:19 UTC 2011