Class CPointPDF
Defined in File CPointPDF.h
Inheritance Relationships
Base Types
public mrpt::serialization::CSerializablepublic mrpt::math::CProbabilityDensityFunction< CPoint3D, 3 >
Derived Types
public mrpt::poses::CPointPDFGaussian(Class CPointPDFGaussian)public mrpt::poses::CPointPDFParticles(Class CPointPDFParticles)public mrpt::poses::CPointPDFSOG(Class CPointPDFSOG)
Class Documentation
-
class CPointPDF : public mrpt::serialization::CSerializable, public mrpt::math::CProbabilityDensityFunction<CPoint3D, 3>
Declares a class that represents a Probability Distribution function (PDF) of a 3D point (x,y,z). This class is just the base class for unifying many different 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 6D poses (a 3D point with attitude), see CPose3DPDF
See also: probabilistic spatial representations
See also
Subclassed by mrpt::poses::CPointPDFGaussian, mrpt::poses::CPointPDFParticles, mrpt::poses::CPointPDFSOG
Public Types
Public Functions
-
virtual void copyFrom(const CPointPDF &o) = 0
Copy operator, translating if necessary (for example, between particles and gaussian representations)
-
virtual void bayesianFusion(const CPointPDF &p1, const CPointPDF &p2, const double minMahalanobisDistToDrop = 0) = 0
Bayesian fusion of two point 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.
-
template<class OPENGL_SETOFOBJECTSPTR>
inline void getAs3DObject(OPENGL_SETOFOBJECTSPTR &out_obj) const Returns a 3D representation of this PDF (it doesn’t clear the current contents of out_obj, but append new OpenGL objects to that list)
Note
Needs the mrpt-opengl library, and using mrpt::viz::CSetOfObjects::Ptr as template argument.
Note
By default, ellipsoids for the confidence intervals of “q=3” are drawn; for more mathematical details, see CGeneralizedEllipsoidTemplate::setQuantiles()
-
template<class OPENGL_SETOFOBJECTSPTR, class OPENGL_SETOFOBJECTS>
inline OPENGL_SETOFOBJECTSPTR getAs3DObject() const Returns a 3D representation of this PDF.
Note
Needs the mrpt-opengl library, and using mrpt::viz::CSetOfObjects::Ptr as template argument.
-
virtual void copyFrom(const CPointPDF &o) = 0