This template class declares the array of particles and its internal data, managing some memory-related issues and providing an easy implementation of virtual methods required for implementing a CParticleFilterCapable.
See also the methods in the base class CParticleFilterDataImpl<>.
Since CProbabilityParticle implements all the required operators, the member "m_particles" can be safely copied with "=" or copy constructor operators and new objects will be created internally instead of copying the internal pointers, which would lead to memory corruption.
Definition at line 197 of file CParticleFilterData.h.
#include <mrpt/bayes/CParticleFilterData.h>
Public Types | |
typedef T | CParticleDataContent |
This is the type inside the corresponding CParticleData class. More... | |
typedef CProbabilityParticle< T > | CParticleData |
Use this to refer to each element in the m_particles array. More... | |
typedef std::deque< CParticleData > | CParticleList |
Use this type to refer to the list of particles m_particles. More... | |
Public Member Functions | |
CParticleFilterData () | |
Default constructor. More... | |
void | clearParticles () |
Free the memory of all the particles and reset the array "m_particles" to length zero. More... | |
template<class STREAM > | |
void | writeParticlesToStream (STREAM &out) const |
Dumps the sequence of particles and their weights to a stream (requires T implementing CSerializable). More... | |
template<class STREAM > | |
void | readParticlesFromStream (STREAM &in) |
Reads the sequence of particles and their weights from a stream (requires T implementing CSerializable). More... | |
void | getWeights (std::vector< double > &out_logWeights) const |
Returns a vector with the sequence of the logaritmic weights of all the samples. More... | |
const CParticleData * | getMostLikelyParticle () const |
Returns the particle with the highest weight. More... | |
Public Attributes | |
CParticleList | m_particles |
The array of particles. More... | |
typedef CProbabilityParticle<T> mrpt::bayes::CParticleFilterData< T >::CParticleData |
Use this to refer to each element in the m_particles array.
Definition at line 203 of file CParticleFilterData.h.
typedef T mrpt::bayes::CParticleFilterData< T >::CParticleDataContent |
This is the type inside the corresponding CParticleData class.
Definition at line 201 of file CParticleFilterData.h.
typedef std::deque<CParticleData> mrpt::bayes::CParticleFilterData< T >::CParticleList |
Use this type to refer to the list of particles m_particles.
Definition at line 205 of file CParticleFilterData.h.
|
inline |
Default constructor.
Definition at line 211 of file CParticleFilterData.h.
|
inline |
Free the memory of all the particles and reset the array "m_particles" to length zero.
Definition at line 214 of file CParticleFilterData.h.
Referenced by mrpt::maps::CMultiMetricMapPDF::getEstimatedPosePDFAtTime(), and mrpt::bayes::CParticleFilterData< CRBPFParticleData >::readParticlesFromStream().
|
inline |
Returns the particle with the highest weight.
Definition at line 270 of file CParticleFilterData.h.
Referenced by mrpt::hmtslam::CHMTSLAM::generateLogFiles().
|
inline |
Returns a vector with the sequence of the logaritmic weights of all the samples.
Definition at line 256 of file CParticleFilterData.h.
Referenced by mrpt::maps::CBeaconMap::internal_insertObservation().
|
inline |
Reads the sequence of particles and their weights from a stream (requires T implementing CSerializable).
Definition at line 236 of file CParticleFilterData.h.
|
inline |
Dumps the sequence of particles and their weights to a stream (requires T implementing CSerializable).
Definition at line 220 of file CParticleFilterData.h.
CParticleList mrpt::bayes::CParticleFilterData< T >::m_particles |
The array of particles.
Definition at line 208 of file CParticleFilterData.h.
Referenced by mrpt::poses::CPosePDFParticles::append(), mrpt::hmtslam::CLocalMetricHypothesis::auxiliarComputeObservationLikelihood(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::clearParticles(), mrpt::hmtslam::CHierarchicalMapMHPartition::computeCoordinatesTransformationBetweenNodes(), mrpt::hmtslam::CHierarchicalMapMHPartition::computeOverlapProbabilityBetweenNodes(), mrpt::poses::CPose3DPDFParticles::copyFrom(), mrpt::poses::CPosePDFParticles::copyFrom(), mrpt::poses::CPose3DPDF::createFrom2D(), mrpt::poses::CPoseInterpolatorBase< 3 >::filter(), mrpt::poses::CPosePDFGrid::getCovarianceAndMean(), mrpt::maps::CMultiMetricMapPDF::getEstimatedPosePDFAtTime(), mrpt::slam::CMonteCarloLocalization3D::getLastPose(), mrpt::slam::CMonteCarloLocalization2D::getLastPose(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::getMostLikelyParticle(), mrpt::hmtslam::CLocalMetricHypothesis::getPoseParticles(), mrpt::hmtslam::CLocalMetricHypothesis::getRelativePose(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::getWeights(), mrpt::maps::CBeaconMap::internal_computeObservationLikelihood(), mrpt::maps::CBeaconMap::internal_insertObservation(), mrpt::hmtslam::CHMTSLAM::LSLAM_process_message_from_AA(), mrpt::hmtslam::CLocalMetricHypothesis::particlesEvaluator_AuxPFOptimal(), mrpt::hmtslam::CHMTSLAM::perform_TLC(), mrpt::slam::CMonteCarloLocalization3D::prediction_and_update(), mrpt::slam::CMonteCarloLocalization2D::prediction_and_update(), mrpt::slam::CMetricMapBuilderRBPF::processActionObservation(), mrpt::hmtslam::CLSLAM_RBPF_2DLASER::processOneLMH(), mrpt::bayes::CParticleFilterData< CRBPFParticleData >::readParticlesFromStream(), mrpt::slam::CMonteCarloLocalization2D::resetUniformFreeSpace(), mrpt::hmtslam::CLocalMetricHypothesis::updateAreaFromLMH(), and mrpt::bayes::CParticleFilterData< CRBPFParticleData >::writeParticlesToStream().
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 |