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

mrpt::poses::CPose3DPDF Class Reference


Detailed Description

Declares a class that represents a Probability Density Function (PDF) of a 3D pose (6D actually).

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.

For a similar class for 3D points (without attitude), see CPointPDF

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

See also:
CPose3D, CPosePDF, CPointPDF

Definition at line 61 of file CPose3DPDF.h.

#include <mrpt/poses/CPose3DPDF.h>

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

List of all members.

Public Types

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

Public Member Functions

 MRPT_DECLARE_DEPRECATED_FUNCTION ("**deprecated** Use getMean instead", CPose3D getEstimatedPose() const )
 Returns an estimate of the pose, (the mean, or mathematical expectation of the PDF)
virtual void copyFrom (const CPose3DPDF &o)=0
 Copy operator, translating if necesary (for example, between particles and gaussian representations)
virtual void bayesianFusion (const CPose3DPDF &p1, const CPose3DPDF &p2)=0
 Bayesian fusion of two pose distributions, then save the result in this object (WARNING: Currently only distributions of the same class can be fused! eg, gaussian with gaussian,etc)
virtual void inverse (CPose3DPDF &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 CPose3DPDFcreateFrom2D (const CPosePDF &o)
 This is a static transformation method from 2D poses to 3D PDFs, preserving the representation type (particles->particles, Gaussians->Gaussians,etc) It returns a new object of any of the derived classes of CPose3DPDF.
static bool is_3D ()
static bool is_PDF ()

RTTI stuff

static const
mrpt::utils::TRuntimeClassId 
classCPose3DPDF
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 96 of file CPose3DPDF.h.

anonymous enum
Enumerator:
is_PDF_val 

Definition at line 98 of file CPose3DPDF.h.


Member Function Documentation

static const mrpt::utils::TRuntimeClassId* mrpt::poses::CPose3DPDF::_GetBaseClass (  ) [static, protected]
virtual void mrpt::poses::CPose3DPDF::bayesianFusion ( const CPose3DPDF p1,
const CPose3DPDF p2 
) [pure virtual]

Bayesian fusion of two pose distributions, then save the result in this object (WARNING: Currently only distributions of the same class can be fused! eg, gaussian with gaussian,etc)

Implemented in mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFGaussianInf, mrpt::poses::CPose3DPDFParticles, and mrpt::poses::CPose3DPDFSOG.

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

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

See also:
createFrom2D

Implemented in mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFGaussianInf, mrpt::poses::CPose3DPDFParticles, and mrpt::poses::CPose3DPDFSOG.

static CPose3DPDF* mrpt::poses::CPose3DPDF::createFrom2D ( const CPosePDF o ) [static]

This is a static transformation method from 2D poses to 3D PDFs, preserving the representation type (particles->particles, Gaussians->Gaussians,etc) It returns a new object of any of the derived classes of CPose3DPDF.

This object must be deleted by the user when not required anymore.

See also:
copyFrom
template<class OPENGL_SETOFOBJECTSPTR >
void mrpt::poses::CPose3DPDF::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 105 of file CPose3DPDF.h.

template<class OPENGL_SETOFOBJECTSPTR >
OPENGL_SETOFOBJECTSPTR mrpt::poses::CPose3DPDF::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 113 of file CPose3DPDF.h.

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

Returns information about the class of an object in runtime.

Reimplemented from mrpt::utils::CSerializable.

Reimplemented in mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFGaussianInf, mrpt::poses::CPose3DPDFParticles, and mrpt::poses::CPose3DPDFSOG.

virtual void mrpt::poses::CPose3DPDF::inverse ( CPose3DPDF o ) const [pure virtual]

Returns a new PDF such as: NEW_PDF = (0,0,0) - THIS_PDF.

Implemented in mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPose3DPDFGaussianInf, mrpt::poses::CPose3DPDFParticles, and mrpt::poses::CPose3DPDFSOG.

static bool mrpt::poses::CPose3DPDF::is_3D (  ) [inline, static]

Definition at line 97 of file CPose3DPDF.h.

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

Definition at line 99 of file CPose3DPDF.h.

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

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

Definition at line 69 of file CPose3DPDF.h.


Friends And Related Function Documentation

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

Reimplemented from mrpt::utils::CSerializable.

Definition at line 63 of file CPose3DPDF.h.


Member Data Documentation

Definition at line 63 of file CPose3DPDF.h.




Page generated by Doxygen 1.7.2 for MRPT 0.9.4 SVN: at Mon Jan 10 22:46:17 UTC 2011