9 #ifndef CPoseRandomSampler_H
10 #define CPoseRandomSampler_H
116 this->getOriginalPDFCov2D(M);
126 this->getOriginalPDFCov3D(M);
A numeric matrix of compile-time fixed size.
A class used to store a 2D pose.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Declares a class that represents a Probability Density Function (PDF) of a 3D pose (6D actually).
Declares a class that represents a probability density function (pdf) of a 2D pose (x,...
An efficient generator of random samples drawn from a given 2D (CPosePDF) or 3D (CPose3DPDF) pose pro...
CPose3D & getSamplingMean3D(CPose3D &out_mean) const
If the object has been loaded with setPosePDF this method returns the 3D pose mean samples will be dr...
CPosePDF * m_pdf2D
A local copy of the PDF.
CPose3DPDF * m_pdf3D
A local copy of the PDF.
CPose2D m_fastdraw_gauss_M_2D
~CPoseRandomSampler()
Destructor.
bool isPrepared() const
Return true if samples can be generated, which only requires a previous call to setPosePDF.
mrpt::math::CMatrixDouble33 m_fastdraw_gauss_Z3
CPose3D m_fastdraw_gauss_M_3D
void setPosePDF(const CPosePDF &pdf)
This method must be called to select the PDF from which to draw samples.
void setPosePDF(const CPose3DPDF *pdf)
This method must be called to select the PDF from which to draw samples.
CPose3D & drawSample(CPose3D &p) const
Generate a new sample from the selected PDF.
CPose2D & getSamplingMean2D(CPose2D &out_mean) const
If the object has been loaded with setPosePDF this method returns the 2D pose mean samples will be dr...
void getOriginalPDFCov3D(mrpt::math::CMatrixDouble &cov6x6) const
Retrieves the 6x6 covariance of the original PDF in .
void setPosePDF(const CPose3DPDFPtr &pdf)
This method must be called to select the PDF from which to draw samples.
void do_sample_3D(CPose3D &p) const
Used internally: sample from m_pdf3D.
mrpt::math::CMatrixDouble66 m_fastdraw_gauss_Z6
void setPosePDF(const CPose3DPDF &pdf)
This method must be called to select the PDF from which to draw samples.
void clear()
Clear internal pdf.
void setPosePDF(const CPosePDF *pdf)
This method must be called to select the PDF from which to draw samples.
void getOriginalPDFCov3D(mrpt::math::CMatrixDouble66 &cov6x6) const
Retrieves the 6x6 covariance of the original PDF in .
CPoseRandomSampler()
Default constructor.
void getOriginalPDFCov2D(mrpt::math::CMatrixDouble33 &cov3x3) const
Retrieves the 3x3 covariance of the original PDF in .
void setPosePDF(const CPosePDFPtr &pdf)
This method must be called to select the PDF from which to draw samples.
void do_sample_2D(CPose2D &p) const
Used internally: sample from m_pdf2D.
CPose2D & drawSample(CPose2D &p) const
Generate a new sample from the selected PDF.
void getOriginalPDFCov2D(mrpt::math::CMatrixDouble &cov3x3) const
Retrieves the 3x3 covariance of the original PDF in .
CMatrixTemplateNumeric< double > CMatrixDouble
Declares a matrix of double numbers (non serializable).
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.