25 auto N =
static_cast<uint32_t
>(
size());
27 for (
const auto& e : *
this)
out << e.first << e.second.sf << e.second.pdf;
30 void CRobotPosesGraph::serializeFrom(
41 for (i = 0; i < N; i++)
48 in >> info.
sf >> info.
pdf;
63 for (
const auto& it : *
this)
65 it.second.pdf.getMean(meanPose);
66 it.second.sf.insertObservationsInto(&metricMap, &meanPose);
73 void CRobotPosesGraph::convertIntoSimplemap(
CSimpleMap& out_simplemap)
const 75 out_simplemap.
clear();
76 for (
const auto& it : *
this)
77 out_simplemap.
insert(&it.second.pdf, it.second.sf);
This class stores a sequence of <Probabilistic Pose,SensoryFrame> pairs, thus a "metric map" can be t...
size_t size(const MATRIXLIKE &m, const int dim)
Classes related to the implementation of Hybrid Metric Topological (HMT) SLAM.
#define IMPLEMENTS_SERIALIZABLE(class_name, base, NameSpace)
To be added to all CSerializable-classes implementation files.
mrpt::poses::CPose3DPDFParticles pdf
The robot pose PDF.
uint64_t TPoseID
An integer number uniquely identifying each robot pose stored in HMT-SLAM.
#define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(__V)
For use in CSerializable implementations.
Auxiliary class used in mrpt::slam::CLocalMetricHypothesis for HMT-SLAM; this class stores a set of r...
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
Virtual base class for "archives": classes abstracting I/O streams.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
mrpt::vision::TStereoCalibResults out
mrpt::obs::CSensoryFrame sf
The observations.
Information kept for each robot pose used in CRobotPosesGraph.
This class stores any customizable set of metric maps.
void insert(const mrpt::poses::CPose3DPDF *in_posePDF, const mrpt::obs::CSensoryFrame &in_SF)
Add a new pair to the sequence.
void clear()
Clear the contents of this container.
void clear()
Remove all stored pairs.