Main MRPT website > C++ reference for MRPT 1.9.9
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions
mrpt::poses::CPose3DQuatPDF Class Referenceabstract

Detailed Description

Declares a class that represents a Probability Density Function (PDF) of a 3D pose (6D actually), by means of a 7-vector with a translation [x y z] and a quaternion [qr qx qy qz].

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.

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

See also
CPose3DQuatPDF, CPose3DPDF

Definition at line 46 of file CPose3DQuatPDF.h.

#include <mrpt/poses/CPose3DQuatPDF.h>

Inheritance diagram for mrpt::poses::CPose3DQuatPDF:
Inheritance graph

Public Types

typedef CPose3DQuat type_value
 The type of the state the PDF represents. More...
 
typedef CProbabilityDensityFunction< CPose3DQuat, STATE_LEN > self_t
 

Public Member Functions

virtual void copyFrom (const CPose3DQuatPDF &o)=0
 Copy operator, translating if necesary (for example, between particles and gaussian representations) More...
 
virtual void inverse (CPose3DQuatPDF &o) const =0
 Returns a new PDF such as: NEW_PDF = (0,0,0) - THIS_PDF. More...
 
template<class OPENGL_SETOFOBJECTSPTR >
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) More...
 
template<class OPENGL_SETOFOBJECTSPTR >
OPENGL_SETOFOBJECTSPTR getAs3DObject () const
 Returns a 3D representation of this PDF. More...
 
virtual mxArraywriteToMatlab () const
 Introduces a pure virtual method responsible for writing to a mxArray Matlab object, typically a MATLAB struct whose contents are documented in each derived class. More...
 
virtual CObjectclone () const =0
 Returns a deep copy (clone) of the object, indepently of its class. More...
 
virtual void getMean (CPose3DQuat &mean_point) const=0
 Returns the mean, or mathematical expectation of the probability density distribution (PDF). More...
 
virtual void getCovarianceAndMean (mrpt::math::CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &cov, CPose3DQuat &mean_point) const=0
 Returns an estimate of the pose covariance matrix (STATE_LENxSTATE_LEN cov matrix) and the mean, both at once. More...
 
void getCovarianceDynAndMean (mrpt::math::CMatrixDouble &cov, CPose3DQuat &mean_point) const
 Returns an estimate of the pose covariance matrix (STATE_LENxSTATE_LEN cov matrix) and the mean, both at once. More...
 
CPose3DQuat getMeanVal () const
 Returns the mean, or mathematical expectation of the probability density distribution (PDF). More...
 
void getCovariance (mrpt::math::CMatrixDouble &cov) const
 Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix) More...
 
void getCovariance (mrpt::math::CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &cov) const
 Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix) More...
 
mrpt::math::CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > getCovariance () const
 Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix) More...
 
virtual bool isInfType () const
 Returns whether the class instance holds the uncertainty in covariance or information form. More...
 
virtual void getInformationMatrix (mrpt::math::CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &inf) const
 Returns the information (inverse covariance) matrix (a STATE_LEN x STATE_LEN matrix) Unless reimplemented in derived classes, this method first reads the covariance, then invert it. More...
 
virtual void saveToTextFile (const std::string &file) const=0
 Save PDF's particles to a text file. More...
 
virtual void drawSingleSample (CPose3DQuat &outPart) const=0
 Draws a single sample from the distribution. More...
 
virtual void drawManySamples (size_t N, std::vector< mrpt::math::CVectorDouble > &outSamples) const
 Draws a number of samples from the distribution, and saves as a list of 1xSTATE_LEN vectors, where each row contains a (x,y,z,yaw,pitch,roll) datum. More...
 
virtual void changeCoordinatesReference (const mrpt::poses::CPose3D &newReferenceBase)=0
 this = p (+) this. More...
 
double getCovarianceEntropy () const
 Compute the entropy of the estimated covariance matrix. More...
 
RTTI classes and functions
mrpt::utils::CObject::Ptr duplicateGetSmartPtr () const
 Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer). More...
 

Static Public Member Functions

static CPose3DQuatPDFcreateFrom2D (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 CPose3DQuatPDF. More...
 
static void jacobiansPoseComposition (const CPose3DQuat &x, const CPose3DQuat &u, mrpt::math::CMatrixDouble77 &df_dx, mrpt::math::CMatrixDouble77 &df_du, CPose3DQuat *out_x_oplus_u=nullptr)
 This static method computes the two Jacobians of a pose composition operation $f(x,u)= x u$. More...
 

Static Public Attributes

static const size_t state_length
 The length of the variable, for example, 3 for a 3D point, 6 for a 3D pose (x y z yaw pitch roll). More...
 

Protected Member Functions

virtual void writeToStream (mrpt::utils::CStream &out, int *getVersion) const =0
 Introduces a pure virtual method responsible for writing to a CStream. More...
 
virtual void readFromStream (mrpt::utils::CStream &in, int version)=0
 Introduces a pure virtual method responsible for loading from a CStream This can not be used directly be users, instead use "stream >> object;" for reading it from a stream or "stream >> object_ptr;" if the class is unknown apriori. More...
 

RTTI stuff

using Ptr = std::shared_ptr< CPose3DQuatPDF >
 
using ConstPtr = std::shared_ptr< const CPose3DQuatPDF >
 
static const mrpt::utils::TRuntimeClassId runtimeClassId
 
class mrpt::utils::CStream
 
static const mrpt::utils::TRuntimeClassId_GetBaseClass ()
 
virtual const mrpt::utils::TRuntimeClassIdGetRuntimeClass () const override
 Returns information about the class of an object in runtime. More...
 
static const mrpt::utils::TRuntimeClassIdGetRuntimeClassIdStatic ()
 

Member Typedef Documentation

◆ ConstPtr

using mrpt::poses::CPose3DQuatPDF::ConstPtr = std::shared_ptr<const CPose3DQuatPDF >

Definition at line 50 of file CPose3DQuatPDF.h.

◆ Ptr

Definition at line 50 of file CPose3DQuatPDF.h.

◆ self_t

typedef CProbabilityDensityFunction<CPose3DQuat , STATE_LEN> mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::self_t
inherited

Definition at line 37 of file CProbabilityDensityFunction.h.

◆ type_value

The type of the state the PDF represents.

Definition at line 36 of file CProbabilityDensityFunction.h.

Member Function Documentation

◆ _GetBaseClass()

static const mrpt::utils::TRuntimeClassId* mrpt::poses::CPose3DQuatPDF::_GetBaseClass ( )
staticprotected

◆ changeCoordinatesReference()

virtual void mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::changeCoordinatesReference ( const mrpt::poses::CPose3D newReferenceBase)
pure virtualinherited

this = p (+) this.

This can be used to convert a PDF from local coordinates to global, providing the point (newReferenceBase) from which "to project" the current pdf. Result PDF substituted the currently stored one in the object.

Implemented in mrpt::poses::CPose3DQuatPDFGaussian, and mrpt::poses::CPose3DQuatPDFGaussianInf.

◆ clone()

virtual CObject* mrpt::utils::CObject::clone ( ) const
pure virtualinherited

Returns a deep copy (clone) of the object, indepently of its class.

Implemented in mrpt::obs::CObservation3DRangeScan, mrpt::nav::CLogFileRecord_ND, mrpt::nav::CLogFileRecord_FullEval, mrpt::maps::CMultiMetricMap, mrpt::utils::CSimpleDatabase, mrpt::utils::CImage, mrpt::obs::CObservationIMU, mrpt::maps::TMapGenericParams, mrpt::poses::CPose3D, mrpt::obs::CObservationRGBD360, mrpt::maps::CRandomFieldGridMap3D, mrpt::detectors::CDetectable3D, mrpt::hmtslam::THypothesisIDSet, mrpt::maps::CMultiMetricMapPDF, mrpt::hmtslam::CLocalMetricHypothesis, mrpt::obs::CObservationVelodyneScan, mrpt::maps::CLandmarksMap, mrpt::hmtslam::CHMTSLAM, mrpt::opengl::COctoMapVoxels, mrpt::kinematics::CKinematicChain, mrpt::maps::COccupancyGridMap2D, mrpt::obs::CObservationGPS, mrpt::obs::CRawlog, mrpt::opengl::COpenGLViewport, mrpt::maps::CHeightGridMap2D, mrpt::opengl::COpenGLScene, mrpt::opengl::CPlanarLaserScan, mrpt::nav::CHolonomicFullEval, mrpt::vision::CFeature, mrpt::nav::CHolonomicND, mrpt::obs::CObservation2DRangeScan, mrpt::obs::CSensoryFrame, mrpt::opengl::CFrustum, mrpt::poses::CPose2DInterpolator, mrpt::poses::CPose3DInterpolator, mrpt::nav::CHolonomicVFF, mrpt::opengl::CEllipsoidInverseDepth3D, mrpt::opengl::CPointCloud, mrpt::opengl::CPointCloudColoured, mrpt::pbmap::PbMap, mrpt::poses::CPose3DQuat, mrpt::pbmap::Plane, mrpt::opengl::CEllipsoid, mrpt::opengl::CEllipsoidInverseDepth2D, mrpt::poses::CPose3DQuatPDFGaussianInf, mrpt::detectors::CDetectable2D, mrpt::hmtslam::CLSLAMParticleData, mrpt::maps::CBeaconMap, mrpt::poses::CPose3DRotVec, mrpt::opengl::CText3D, mrpt::opengl::CVectorField3D, mrpt::poses::CPointPDFParticles, mrpt::poses::CPose3DQuatPDFGaussian, mrpt::opengl::CAngularObservationMesh, mrpt::opengl::CEllipsoidRangeBearing2D, mrpt::opengl::CPolyhedron, mrpt::poses::CPose3DPDFGaussianInf, mrpt::maps::CReflectivityGridMap2D, mrpt::obs::CObservationStereoImages, mrpt::opengl::CAssimpModel, mrpt::maps::CBeacon, mrpt::nav::CPTG_DiffDrive_C, mrpt::opengl::CBox, mrpt::poses::CPose2D, mrpt::opengl::CMeshFast, mrpt::poses::CPose3DPDFGaussian, mrpt::hmtslam::CHMHMapNode, mrpt::hmtslam::CRobotPosesGraph, mrpt::obs::CObservationStereoImagesFeatures, mrpt::opengl::CMesh, mrpt::utils::CMHPropertiesValuesList, mrpt::opengl::CMesh3D, mrpt::opengl::CText, mrpt::poses::CPosePDFGaussianInf, mrpt::maps::CHeightGridMap2D_MRF, mrpt::nav::CPTG_DiffDrive_alpha, mrpt::maps::CRBPFParticleData, mrpt::poses::CPoint2D, mrpt::poses::CPointPDFSOG, mrpt::poses::CPose3DPDFParticles, mrpt::poses::CPosePDFParticles, mrpt::poses::CPosePDFSOG, mrpt::hmtslam::CHMHMapArc, mrpt::opengl::CColorBar, mrpt::opengl::CVectorField2D, mrpt::poses::CPose3DPDFSOG, mrpt::maps::CGasConcentrationGridMap2D, mrpt::maps::CWirelessPowerGridMap2D, mrpt::maps::CSimpleMap, mrpt::obs::CObservationImage, mrpt::opengl::CSetOfLines, mrpt::maps::CLandmark, mrpt::hmtslam::CHierarchicalMHMap, mrpt::maps::COctoMap, mrpt::obs::CActionRobotMovement2D, mrpt::obs::CObservationBatteryState, mrpt::opengl::CDisk, mrpt::poses::CPoint3D, mrpt::utils::CStringList, mrpt::utils::TCamera, mrpt::obs::CObservationOdometry, mrpt::obs::CObservationRawDAQ, mrpt::opengl::CCamera, mrpt::opengl::CCylinder, mrpt::opengl::CGridPlaneXY, mrpt::opengl::CGridPlaneXZ, mrpt::poses::CPosePDFGaussian, mrpt::maps::CColouredOctoMap, mrpt::maps::CSimplePointsMap, mrpt::nav::CLogFileRecord, mrpt::obs::CObservationBearingRange, mrpt::obs::CObservationWindSensor, mrpt::opengl::CArrow, mrpt::opengl::CAxis, mrpt::opengl::CGeneralizedCylinder, mrpt::opengl::CSphere, mrpt::slam::CIncrementalMapPartitioner, mrpt::maps::CColouredPointsMap, mrpt::maps::CWeightedPointsMap, mrpt::obs::CObservationRange, mrpt::opengl::CSetOfObjects, mrpt::obs::CActionCollection, mrpt::obs::CActionRobotMovement3D, mrpt::obs::CObservationWirelessPower, mrpt::opengl::CSetOfTexturedTriangles, mrpt::math::CSplineInterpolator1D, mrpt::nav::CLogFileRecord_VFF, mrpt::nav::CMultiObjMotionOpt_Scalarization, mrpt::nav::CPTG_Holo_Blend, mrpt::obs::CObservation6DFeatures, mrpt::obs::CObservationSkeleton, mrpt::obs::CObservationVisualLandmarks, mrpt::poses::CPosePDFGrid, mrpt::nav::CPTG_DiffDrive_CC, mrpt::nav::CPTG_DiffDrive_CCS, mrpt::nav::CPTG_DiffDrive_CS, mrpt::obs::CObservationBeaconRanges, mrpt::obs::CObservationComment, mrpt::obs::CObservationGasSensors, mrpt::obs::CObservationReflectivity, mrpt::obs::CObservationRFID, mrpt::math::CMatrixD, mrpt::poses::CPoses2DSequence, mrpt::poses::CPoses3DSequence, mrpt::opengl::C3DSScene, mrpt::opengl::COpenGLStandardObject, mrpt::math::CMatrix, mrpt::poses::CPointPDFGaussian, mrpt::utils::TStereoCamera, mrpt::opengl::CSetOfTriangles, mrpt::math::CMatrixB, mrpt::poses::TSimple3DPoint, mrpt::utils::CMemoryChunk, mrpt::utils::CPropertiesValuesList, mrpt::obs::CObservationCANBusJ1939, mrpt::obs::CObservationRobotPose, mrpt::math::CPolygon, mrpt::poses::CPoint2DPDFGaussian, mrpt::utils::CSimpleDatabaseTable, mrpt::utils::CTypeSelector, mrpt::opengl::CSimpleLine, mrpt::opengl::CTexturedPlane, mrpt::kinematics::CVehicleVelCmd_DiffDriven, and mrpt::kinematics::CVehicleVelCmd_Holo.

Referenced by mrpt::utils::CObject::duplicateGetSmartPtr(), mrpt::maps::CSimpleMap::insert(), mrpt::obs::CActionCollection::insert(), and mrpt::poses::CPoseRandomSampler::setPosePDF().

Here is the caller graph for this function:

◆ copyFrom()

virtual void mrpt::poses::CPose3DQuatPDF::copyFrom ( const CPose3DQuatPDF o)
pure virtual

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

See also
createFrom2D

Implemented in mrpt::poses::CPose3DQuatPDFGaussianInf, and mrpt::poses::CPose3DQuatPDFGaussian.

◆ createFrom2D()

CPose3DQuatPDF * CPose3DQuatPDF::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 CPose3DQuatPDF.

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

See also
copyFrom

Definition at line 26 of file CPose3DQuatPDF.cpp.

References MRPT_END, and MRPT_START.

◆ drawManySamples()

virtual void mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::drawManySamples ( size_t  N,
std::vector< mrpt::math::CVectorDouble > &  outSamples 
) const
inlinevirtualinherited

Draws a number of samples from the distribution, and saves as a list of 1xSTATE_LEN vectors, where each row contains a (x,y,z,yaw,pitch,roll) datum.

This base method just call N times to drawSingleSample, but derived classes should implemented optimized method for each particular PDF.

Reimplemented in mrpt::poses::CPose3DQuatPDFGaussian, and mrpt::poses::CPose3DQuatPDFGaussianInf.

Definition at line 154 of file CProbabilityDensityFunction.h.

◆ drawSingleSample()

virtual void mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::drawSingleSample ( CPose3DQuat &  outPart) const
pure virtualinherited

Draws a single sample from the distribution.

◆ getAs3DObject() [1/2]

template<class OPENGL_SETOFOBJECTSPTR >
void mrpt::poses::CPose3DQuatPDF::getAs3DObject ( OPENGL_SETOFOBJECTSPTR &  out_obj) const
inline

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::opengl::CSetOfObjects::Ptr as template argument.
By default, ellipsoids for the confidence intervals of "q=3" are drawn; for more mathematical details, see CGeneralizedEllipsoidTemplate::setQuantiles()

Definition at line 95 of file CPose3DQuatPDF.h.

References mrpt::opengl::posePDF2opengl().

Here is the call graph for this function:

◆ getAs3DObject() [2/2]

template<class OPENGL_SETOFOBJECTSPTR >
OPENGL_SETOFOBJECTSPTR mrpt::poses::CPose3DQuatPDF::getAs3DObject ( ) const
inline

Returns a 3D representation of this PDF.

Note
Needs the mrpt-opengl library, and using mrpt::opengl::CSetOfObjects::Ptr as template argument.

Definition at line 106 of file CPose3DQuatPDF.h.

References mrpt::opengl::posePDF2opengl().

Here is the call graph for this function:

◆ getCovariance() [1/3]

void mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getCovariance ( mrpt::math::CMatrixDouble cov) const
inlineinherited

Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)

See also
getMean, getCovarianceAndMean, getInformationMatrix

Definition at line 81 of file CProbabilityDensityFunction.h.

◆ getCovariance() [2/3]

void mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getCovariance ( mrpt::math::CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &  cov) const
inlineinherited

Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)

See also
getMean, getCovarianceAndMean, getInformationMatrix

Definition at line 91 of file CProbabilityDensityFunction.h.

◆ getCovariance() [3/3]

mrpt::math::CMatrixFixedNumeric<double, STATE_LEN, STATE_LEN> mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getCovariance ( ) const
inlineinherited

Returns the estimate of the covariance matrix (STATE_LEN x STATE_LEN covariance matrix)

See also
getMean, getInformationMatrix

Definition at line 104 of file CProbabilityDensityFunction.h.

◆ getCovarianceAndMean()

virtual void mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getCovarianceAndMean ( mrpt::math::CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &  cov,
CPose3DQuat &  mean_point 
) const
pure virtualinherited

Returns an estimate of the pose covariance matrix (STATE_LENxSTATE_LEN cov matrix) and the mean, both at once.

See also
getMean, getInformationMatrix

◆ getCovarianceDynAndMean()

void mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getCovarianceDynAndMean ( mrpt::math::CMatrixDouble cov,
CPose3DQuat &  mean_point 
) const
inlineinherited

Returns an estimate of the pose covariance matrix (STATE_LENxSTATE_LEN cov matrix) and the mean, both at once.

See also
getMean, getInformationMatrix

Definition at line 57 of file CProbabilityDensityFunction.h.

◆ getCovarianceEntropy()

double mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getCovarianceEntropy ( ) const
inlineinherited

Compute the entropy of the estimated covariance matrix.

See also
http://en.wikipedia.org/wiki/Multivariate_normal_distribution#Entropy

Definition at line 178 of file CProbabilityDensityFunction.h.

◆ getInformationMatrix()

virtual void mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getInformationMatrix ( mrpt::math::CMatrixFixedNumeric< double, STATE_LEN, STATE_LEN > &  inf) const
inlinevirtualinherited

Returns the information (inverse covariance) matrix (a STATE_LEN x STATE_LEN matrix) Unless reimplemented in derived classes, this method first reads the covariance, then invert it.

See also
getMean, getCovarianceAndMean

Definition at line 127 of file CProbabilityDensityFunction.h.

◆ getMean()

virtual void mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getMean ( CPose3DQuat &  mean_point) const
pure virtualinherited

Returns the mean, or mathematical expectation of the probability density distribution (PDF).

See also
getCovarianceAndMean, getInformationMatrix

◆ getMeanVal()

CPose3DQuat mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::getMeanVal ( ) const
inlineinherited

Returns the mean, or mathematical expectation of the probability density distribution (PDF).

See also
getCovariance, getInformationMatrix

Definition at line 70 of file CProbabilityDensityFunction.h.

◆ GetRuntimeClass()

virtual const mrpt::utils::TRuntimeClassId* mrpt::poses::CPose3DQuatPDF::GetRuntimeClass ( ) const
overridevirtual

Returns information about the class of an object in runtime.

Reimplemented from mrpt::utils::CSerializable.

Reimplemented in mrpt::poses::CPose3DQuatPDFGaussianInf, and mrpt::poses::CPose3DQuatPDFGaussian.

Referenced by mrpt::poses::CPose3DQuatPDFGaussianInf::inverse(), and mrpt::poses::CPose3DQuatPDFGaussian::inverse().

Here is the caller graph for this function:

◆ GetRuntimeClassIdStatic()

static const mrpt::utils::TRuntimeClassId& mrpt::poses::CPose3DQuatPDF::GetRuntimeClassIdStatic ( )
static

◆ inverse()

virtual void mrpt::poses::CPose3DQuatPDF::inverse ( CPose3DQuatPDF o) const
pure virtual

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

Implemented in mrpt::poses::CPose3DQuatPDFGaussian, and mrpt::poses::CPose3DQuatPDFGaussianInf.

◆ isInfType()

virtual bool mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::isInfType ( ) const
inlinevirtualinherited

Returns whether the class instance holds the uncertainty in covariance or information form.

Note
By default this is going to be covariance form. *Inf classes (e.g. CPosePDFGaussianInf) store it in information form.
See also
mrpt::traits::is_inf_type

Reimplemented in mrpt::poses::CPose3DQuatPDFGaussianInf.

Definition at line 120 of file CProbabilityDensityFunction.h.

◆ jacobiansPoseComposition()

void CPose3DQuatPDF::jacobiansPoseComposition ( const CPose3DQuat x,
const CPose3DQuat u,
mrpt::math::CMatrixDouble77 df_dx,
mrpt::math::CMatrixDouble77 df_du,
CPose3DQuat out_x_oplus_u = nullptr 
)
static

◆ readFromStream()

virtual void mrpt::utils::CSerializable::readFromStream ( mrpt::utils::CStream in,
int  version 
)
protectedpure virtualinherited

Introduces a pure virtual method responsible for loading from a CStream This can not be used directly be users, instead use "stream >> object;" for reading it from a stream or "stream >> object_ptr;" if the class is unknown apriori.

Parameters
inThe input binary stream where the object data must read from.
versionThe version of the object stored in the stream: use this version number in your code to know how to read the incoming data.
Exceptions
std::exceptionOn any error, see CStream::ReadBuffer
See also
CStream

Implemented in mrpt::obs::CObservation3DRangeScan, mrpt::nav::CLogFileRecord_ND, mrpt::nav::CLogFileRecord_FullEval, mrpt::maps::CMultiMetricMap, mrpt::utils::CSimpleDatabase, mrpt::utils::CImage, mrpt::obs::CObservationIMU, mrpt::maps::TMapGenericParams, mrpt::poses::CPose3D, mrpt::obs::CObservationRGBD360, mrpt::maps::CRandomFieldGridMap3D, mrpt::detectors::CDetectable3D, mrpt::hmtslam::THypothesisIDSet, mrpt::maps::CMultiMetricMapPDF, mrpt::hmtslam::CLocalMetricHypothesis, mrpt::obs::CObservationVelodyneScan, mrpt::maps::CLandmarksMap, mrpt::hmtslam::CHMTSLAM, mrpt::opengl::COctoMapVoxels, mrpt::kinematics::CKinematicChain, mrpt::maps::COccupancyGridMap2D, mrpt::obs::CObservationGPS, mrpt::obs::CRawlog, mrpt::opengl::COpenGLViewport, mrpt::maps::CHeightGridMap2D, mrpt::opengl::COpenGLScene, mrpt::opengl::CPlanarLaserScan, mrpt::nav::CHolonomicFullEval, mrpt::vision::CFeature, mrpt::nav::CHolonomicND, mrpt::obs::CObservation2DRangeScan, mrpt::obs::CSensoryFrame, mrpt::opengl::CFrustum, mrpt::poses::CPose2DInterpolator, mrpt::poses::CPose3DInterpolator, mrpt::nav::CHolonomicVFF, mrpt::opengl::CEllipsoidInverseDepth3D, mrpt::opengl::CPointCloud, mrpt::opengl::CPointCloudColoured, mrpt::pbmap::PbMap, mrpt::poses::CPose3DQuat, mrpt::pbmap::Plane, mrpt::opengl::CEllipsoid, mrpt::opengl::CEllipsoidInverseDepth2D, mrpt::poses::CPose3DQuatPDFGaussianInf, mrpt::detectors::CDetectable2D, mrpt::hmtslam::CLSLAMParticleData, mrpt::maps::CBeaconMap, mrpt::poses::CPose3DRotVec, mrpt::opengl::CText3D, mrpt::opengl::CVectorField3D, mrpt::poses::CPointPDFParticles, mrpt::poses::CPose3DQuatPDFGaussian, mrpt::opengl::CAngularObservationMesh, mrpt::opengl::CEllipsoidRangeBearing2D, mrpt::opengl::CPolyhedron, mrpt::poses::CPose3DPDFGaussianInf, mrpt::maps::CReflectivityGridMap2D, mrpt::obs::CObservationStereoImages, mrpt::opengl::CAssimpModel, mrpt::maps::CBeacon, mrpt::nav::CPTG_DiffDrive_C, mrpt::opengl::CBox, mrpt::poses::CPose2D, mrpt::opengl::CMeshFast, mrpt::poses::CPose3DPDFGaussian, mrpt::hmtslam::CHMHMapNode, mrpt::hmtslam::CRobotPosesGraph, mrpt::obs::CObservationStereoImagesFeatures, mrpt::opengl::CMesh, mrpt::utils::CMHPropertiesValuesList, mrpt::opengl::CMesh3D, mrpt::opengl::CText, mrpt::poses::CPosePDFGaussianInf, mrpt::maps::CHeightGridMap2D_MRF, mrpt::nav::CPTG_DiffDrive_alpha, mrpt::maps::CRBPFParticleData, mrpt::poses::CPoint2D, mrpt::poses::CPointPDFSOG, mrpt::poses::CPose3DPDFParticles, mrpt::poses::CPosePDFParticles, mrpt::poses::CPosePDFSOG, mrpt::hmtslam::CHMHMapArc, mrpt::opengl::CColorBar, mrpt::opengl::CVectorField2D, mrpt::poses::CPose3DPDFSOG, mrpt::maps::CGasConcentrationGridMap2D, mrpt::maps::CWirelessPowerGridMap2D, mrpt::maps::CSimpleMap, mrpt::obs::CObservationImage, mrpt::opengl::CSetOfLines, mrpt::maps::CLandmark, mrpt::hmtslam::CHierarchicalMHMap, mrpt::maps::COctoMap, mrpt::obs::CActionRobotMovement2D, mrpt::obs::CObservationBatteryState, mrpt::opengl::CDisk, mrpt::poses::CPoint3D, mrpt::utils::CStringList, mrpt::utils::TCamera, mrpt::obs::CObservationOdometry, mrpt::obs::CObservationRawDAQ, mrpt::opengl::CCamera, mrpt::opengl::CCylinder, mrpt::opengl::CGridPlaneXY, mrpt::opengl::CGridPlaneXZ, mrpt::poses::CPosePDFGaussian, mrpt::maps::CColouredOctoMap, mrpt::maps::CSimplePointsMap, mrpt::nav::CLogFileRecord, mrpt::obs::CObservationBearingRange, mrpt::obs::CObservationWindSensor, mrpt::opengl::CArrow, mrpt::opengl::CAxis, mrpt::opengl::CGeneralizedCylinder, mrpt::opengl::CSphere, mrpt::slam::CIncrementalMapPartitioner, mrpt::maps::CColouredPointsMap, mrpt::maps::CWeightedPointsMap, mrpt::obs::CObservationRange, mrpt::opengl::CSetOfObjects, mrpt::obs::CActionCollection, mrpt::obs::CActionRobotMovement3D, mrpt::obs::CObservationWirelessPower, mrpt::opengl::CSetOfTexturedTriangles, mrpt::math::CSplineInterpolator1D, mrpt::nav::CLogFileRecord_VFF, mrpt::nav::CPTG_Holo_Blend, mrpt::obs::CObservation6DFeatures, mrpt::obs::CObservationSkeleton, mrpt::obs::CObservationVisualLandmarks, mrpt::poses::CPosePDFGrid, mrpt::nav::CPTG_DiffDrive_CC, mrpt::nav::CPTG_DiffDrive_CCS, mrpt::nav::CPTG_DiffDrive_CS, mrpt::obs::CObservationBeaconRanges, mrpt::obs::CObservationComment, mrpt::obs::CObservationGasSensors, mrpt::obs::CObservationReflectivity, mrpt::obs::CObservationRFID, mrpt::math::CMatrixD, mrpt::poses::CPoses2DSequence, mrpt::poses::CPoses3DSequence, mrpt::opengl::C3DSScene, mrpt::opengl::COpenGLStandardObject, mrpt::math::CMatrix, mrpt::poses::CPointPDFGaussian, mrpt::utils::TStereoCamera, mrpt::opengl::CSetOfTriangles, mrpt::math::CMatrixB, mrpt::poses::TSimple3DPoint, mrpt::utils::CMemoryChunk, mrpt::utils::CPropertiesValuesList, mrpt::obs::CObservationCANBusJ1939, mrpt::obs::CObservationRobotPose, mrpt::math::CPolygon, mrpt::poses::CPoint2DPDFGaussian, mrpt::utils::CSimpleDatabaseTable, mrpt::utils::CTypeSelector, mrpt::opengl::CSimpleLine, mrpt::opengl::CTexturedPlane, mrpt::kinematics::CVehicleVelCmd_DiffDriven, and mrpt::kinematics::CVehicleVelCmd_Holo.

◆ saveToTextFile()

virtual void mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::saveToTextFile ( const std::string file) const
pure virtualinherited

Save PDF's particles to a text file.

See derived classes for more information about the format of generated files.

Implemented in mrpt::poses::CPose3DQuatPDFGaussian, and mrpt::poses::CPose3DQuatPDFGaussianInf.

◆ writeToMatlab()

virtual mxArray* mrpt::utils::CSerializable::writeToMatlab ( ) const
inlinevirtualinherited

Introduces a pure virtual method responsible for writing to a mxArray Matlab object, typically a MATLAB struct whose contents are documented in each derived class.

Returns
A new mxArray (caller is responsible of memory freeing) or nullptr is class does not support conversion to MATLAB.

Definition at line 89 of file CSerializable.h.

◆ writeToStream()

virtual void mrpt::utils::CSerializable::writeToStream ( mrpt::utils::CStream out,
int *  getVersion 
) const
protectedpure virtualinherited

Introduces a pure virtual method responsible for writing to a CStream.

This can not be used directly be users, instead use "stream << object;" for writing it to a stream.

Parameters
outThe output binary stream where object must be dumped.
getVersionIf nullptr, the object must be dumped. If not, only the version of the object dump must be returned in this pointer. This enables the versioning of objects dumping and backward compatibility with previously stored data.
Exceptions
std::exceptionOn any error, see CStream::WriteBuffer
See also
CStream

Implemented in mrpt::obs::CObservation3DRangeScan, mrpt::nav::CLogFileRecord_ND, mrpt::nav::CLogFileRecord_FullEval, mrpt::maps::CMultiMetricMap, mrpt::utils::CSimpleDatabase, mrpt::utils::CImage, mrpt::obs::CObservationIMU, mrpt::maps::TMapGenericParams, mrpt::poses::CPose3D, mrpt::obs::CObservationRGBD360, mrpt::maps::CRandomFieldGridMap3D, mrpt::detectors::CDetectable3D, mrpt::hmtslam::THypothesisIDSet, mrpt::maps::CMultiMetricMapPDF, mrpt::hmtslam::CLocalMetricHypothesis, mrpt::obs::CObservationVelodyneScan, mrpt::maps::CLandmarksMap, mrpt::hmtslam::CHMTSLAM, mrpt::opengl::COctoMapVoxels, mrpt::kinematics::CKinematicChain, mrpt::maps::COccupancyGridMap2D, mrpt::obs::CObservationGPS, mrpt::obs::CRawlog, mrpt::opengl::COpenGLViewport, mrpt::maps::CHeightGridMap2D, mrpt::opengl::COpenGLScene, mrpt::opengl::CPlanarLaserScan, mrpt::nav::CHolonomicFullEval, mrpt::vision::CFeature, mrpt::nav::CHolonomicND, mrpt::obs::CObservation2DRangeScan, mrpt::obs::CSensoryFrame, mrpt::opengl::CFrustum, mrpt::poses::CPose2DInterpolator, mrpt::poses::CPose3DInterpolator, mrpt::nav::CHolonomicVFF, mrpt::opengl::CEllipsoidInverseDepth3D, mrpt::opengl::CPointCloud, mrpt::opengl::CPointCloudColoured, mrpt::pbmap::PbMap, mrpt::poses::CPose3DQuat, mrpt::pbmap::Plane, mrpt::opengl::CEllipsoid, mrpt::opengl::CEllipsoidInverseDepth2D, mrpt::poses::CPose3DQuatPDFGaussianInf, mrpt::detectors::CDetectable2D, mrpt::hmtslam::CLSLAMParticleData, mrpt::maps::CBeaconMap, mrpt::poses::CPose3DRotVec, mrpt::opengl::CText3D, mrpt::opengl::CVectorField3D, mrpt::poses::CPointPDFParticles, mrpt::poses::CPose3DQuatPDFGaussian, mrpt::opengl::CAngularObservationMesh, mrpt::opengl::CEllipsoidRangeBearing2D, mrpt::opengl::CPolyhedron, mrpt::poses::CPose3DPDFGaussianInf, mrpt::maps::CReflectivityGridMap2D, mrpt::obs::CObservationStereoImages, mrpt::opengl::CAssimpModel, mrpt::maps::CBeacon, mrpt::nav::CPTG_DiffDrive_C, mrpt::opengl::CBox, mrpt::poses::CPose2D, mrpt::opengl::CMeshFast, mrpt::poses::CPose3DPDFGaussian, mrpt::hmtslam::CHMHMapNode, mrpt::hmtslam::CRobotPosesGraph, mrpt::obs::CObservationStereoImagesFeatures, mrpt::opengl::CMesh, mrpt::utils::CMHPropertiesValuesList, mrpt::opengl::CMesh3D, mrpt::opengl::CText, mrpt::poses::CPosePDFGaussianInf, mrpt::maps::CHeightGridMap2D_MRF, mrpt::nav::CPTG_DiffDrive_alpha, mrpt::maps::CRBPFParticleData, mrpt::poses::CPoint2D, mrpt::poses::CPointPDFSOG, mrpt::poses::CPose3DPDFParticles, mrpt::poses::CPosePDFParticles, mrpt::poses::CPosePDFSOG, mrpt::hmtslam::CHMHMapArc, mrpt::opengl::CColorBar, mrpt::opengl::CVectorField2D, mrpt::poses::CPose3DPDFSOG, mrpt::maps::CGasConcentrationGridMap2D, mrpt::maps::CWirelessPowerGridMap2D, mrpt::maps::CSimpleMap, mrpt::obs::CObservationImage, mrpt::opengl::CSetOfLines, mrpt::maps::CLandmark, mrpt::hmtslam::CHierarchicalMHMap, mrpt::maps::COctoMap, mrpt::obs::CActionRobotMovement2D, mrpt::obs::CObservationBatteryState, mrpt::opengl::CDisk, mrpt::poses::CPoint3D, mrpt::utils::CStringList, mrpt::utils::TCamera, mrpt::obs::CObservationOdometry, mrpt::obs::CObservationRawDAQ, mrpt::opengl::CCamera, mrpt::opengl::CCylinder, mrpt::opengl::CGridPlaneXY, mrpt::opengl::CGridPlaneXZ, mrpt::poses::CPosePDFGaussian, mrpt::maps::CColouredOctoMap, mrpt::maps::CSimplePointsMap, mrpt::nav::CLogFileRecord, mrpt::obs::CObservationBearingRange, mrpt::obs::CObservationWindSensor, mrpt::opengl::CArrow, mrpt::opengl::CAxis, mrpt::opengl::CGeneralizedCylinder, mrpt::opengl::CSphere, mrpt::slam::CIncrementalMapPartitioner, mrpt::maps::CColouredPointsMap, mrpt::maps::CWeightedPointsMap, mrpt::obs::CObservationRange, mrpt::opengl::CSetOfObjects, mrpt::obs::CActionCollection, mrpt::obs::CActionRobotMovement3D, mrpt::obs::CObservationWirelessPower, mrpt::opengl::CSetOfTexturedTriangles, mrpt::math::CSplineInterpolator1D, mrpt::nav::CLogFileRecord_VFF, mrpt::nav::CPTG_Holo_Blend, mrpt::obs::CObservation6DFeatures, mrpt::obs::CObservationSkeleton, mrpt::obs::CObservationVisualLandmarks, mrpt::poses::CPosePDFGrid, mrpt::nav::CPTG_DiffDrive_CC, mrpt::nav::CPTG_DiffDrive_CCS, mrpt::nav::CPTG_DiffDrive_CS, mrpt::obs::CObservationBeaconRanges, mrpt::obs::CObservationComment, mrpt::obs::CObservationGasSensors, mrpt::obs::CObservationReflectivity, mrpt::obs::CObservationRFID, mrpt::math::CMatrixD, mrpt::poses::CPoses2DSequence, mrpt::poses::CPoses3DSequence, mrpt::opengl::C3DSScene, mrpt::opengl::COpenGLStandardObject, mrpt::math::CMatrix, mrpt::poses::CPointPDFGaussian, mrpt::utils::TStereoCamera, mrpt::opengl::CSetOfTriangles, mrpt::math::CMatrixB, mrpt::poses::TSimple3DPoint, mrpt::utils::CMemoryChunk, mrpt::utils::CPropertiesValuesList, mrpt::obs::CObservationCANBusJ1939, mrpt::obs::CObservationRobotPose, mrpt::math::CPolygon, mrpt::poses::CPoint2DPDFGaussian, mrpt::utils::CSimpleDatabaseTable, mrpt::utils::CTypeSelector, mrpt::opengl::CSimpleLine, mrpt::opengl::CTexturedPlane, mrpt::kinematics::CVehicleVelCmd_DiffDriven, and mrpt::kinematics::CVehicleVelCmd_Holo.

Referenced by mrpt::utils::CStream::WriteObject(), mrpt::maps::CColouredOctoMap::writeToStream(), and mrpt::maps::COctoMap::writeToStream().

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ mrpt::utils::CStream

friend class mrpt::utils::CStream
friend

Definition at line 50 of file CPose3DQuatPDF.h.

Member Data Documentation

◆ runtimeClassId

const mrpt::utils::TRuntimeClassId mrpt::poses::CPose3DQuatPDF::runtimeClassId
staticprotected

Definition at line 50 of file CPose3DQuatPDF.h.

◆ state_length

const size_t mrpt::utils::CProbabilityDensityFunction< CPose3DQuat , STATE_LEN >::state_length
staticinherited

The length of the variable, for example, 3 for a 3D point, 6 for a 3D pose (x y z yaw pitch roll).

Definition at line 34 of file CProbabilityDensityFunction.h.




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019