class mrpt::poses::CPose3DPDF
Overview
A Probability Density Function (PDF) of a SE(3) pose.
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 3D points (without attitude), see CPointPDF
See also: probabilistic spatial representations
See also:
#include <mrpt/poses/CPose3DPDF.h> class CPose3DPDF: public mrpt::serialization::CSerializable, public mrpt::math::CProbabilityDensityFunction, public mrpt::Stringifyable { public: // typedefs typedef std::shared_ptr<CPose3DPDF> Ptr; typedef std::shared_ptr<const CPose3DPDF> ConstPtr; // methods virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const; static const mrpt::rtti::TRuntimeClassId& GetRuntimeClassIdStatic(); virtual void printTo(std::ostream& out) const = 0; virtual void copyFrom(const CPose3DPDF& o) = 0; virtual void changeCoordinatesReference(const CPose3D& newReferenceBase) = 0; virtual void bayesianFusion(const CPose3DPDF& p1, const CPose3DPDF& p2) = 0; virtual void inverse(CPose3DPDF& o) const = 0; }; // direct descendants class CPose3DPDFGaussian; class CPose3DPDFGaussianInf; class CPose3DPDFGrid; class CPose3DPDFParticles; class CPose3DPDFSOG;
Inherited Members
public: // typedefs typedef std::shared_ptr<CObject> Ptr; typedef std::shared_ptr<const CObject> ConstPtr; typedef std::shared_ptr<CSerializable> Ptr; typedef std::shared_ptr<const CSerializable> ConstPtr; typedef CProbabilityDensityFunction<TDATA, STATE_LEN> self_t; // methods static const mrpt::rtti::TRuntimeClassId& GetRuntimeClassIdStatic(); virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const; virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const; static const mrpt::rtti::TRuntimeClassId& GetRuntimeClassIdStatic(); CProbabilityDensityFunction& operator = (const CProbabilityDensityFunction&); CProbabilityDensityFunction& operator = (CProbabilityDensityFunction&&);
Methods
virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const
Returns information about the class of an object in runtime.
virtual void printTo(std::ostream& out) const = 0
Write a human-readable description of this PDF to the given stream.
Derived classes must override this method.
virtual void copyFrom(const CPose3DPDF& o) = 0
Copy operator, translating if necessary (for example, between particles and gaussian representations)
See also:
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.