22 class CPosePDFGaussian;
79 const bool compute_df_dx =
true,
80 const bool compute_df_du =
true );
91 enum { is_3D_val = 0 };
92 static inline bool is_3D() {
return is_3D_val!=0; }
93 enum { is_PDF_val = 1 };
94 static inline bool is_PDF() {
return is_PDF_val!=0; }
99 template <
class OPENGL_SETOFOBJECTSPTR>
101 typedef typename OPENGL_SETOFOBJECTSPTR::value_type SETOFOBJECTS;
108 template <
class OPENGL_SETOFOBJECTSPTR>
110 typedef typename OPENGL_SETOFOBJECTSPTR::value_type SETOFOBJECTS;
#define DEFINE_VIRTUAL_SERIALIZABLE(class_name)
This declaration must be inserted in virtual CSerializable classes definition:
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE(class_name, base_name)
#define DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE(class_name, base_name)
This declaration must be inserted in all CSerializable classes definition, before the class declarati...
A numeric matrix of compile-time fixed size.
A class used to store a 2D pose.
Declares a class that represents a Probability Density function (PDF) of a 2D pose .
Declares a class that represents a probability density function (pdf) of a 2D pose (x,...
void getAs3DObject(OPENGL_SETOFOBJECTSPTR &out_obj) const
Returns a 3D representation of this PDF (it doesn't clear the current contents of out_obj,...
OPENGL_SETOFOBJECTSPTR getAs3DObject() const
Returns a 3D representation of this PDF.
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),...
virtual void copyFrom(const CPosePDF &o)=0
Copy operator, translating if necesary (for example, between particles and gaussian representations)
virtual void inverse(CPosePDF &o) const =0
Returns a new PDF such as: NEW_PDF = (0,0,0) - THIS_PDF.
static void jacobiansPoseComposition(const CPosePDFGaussian &x, const CPosePDFGaussian &u, mrpt::math::CMatrixDouble33 &df_dx, mrpt::math::CMatrixDouble33 &df_du)
This is an overloaded member function, provided for convenience. It differs from the above function o...
static void jacobiansPoseComposition(const CPose2D &x, const CPose2D &u, mrpt::math::CMatrixDouble33 &df_dx, mrpt::math::CMatrixDouble33 &df_du, const bool compute_df_dx=true, const bool compute_df_du=true)
This static method computes the pose composition Jacobians, with these formulas:
The virtual base class which provides a unified interface for all persistent objects in MRPT.
CSetOfObjectsPtr posePDF2opengl(const POSE_PDF &o)
Returns a representation of a the PDF - this is just an auxiliary function, it's more natural to call...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.