29 ptr.first.reset(dynamic_cast<mrpt::poses::CPose3DPDF*>(ptr.first->clone()));
31 dynamic_cast<mrpt::obs::CSensoryFrame*>(ptr.second->clone()));
34 CSimpleMap::CSimpleMap(
const CSimpleMap& o) : m_posesObsPairs(o.m_posesObsPairs)
43 if (
this == &o)
return *
this;
128 pair.first = in_posePDF;
145 pair.second = CSensoryFrame::Create(in_SF);
164 pair.second = CSensoryFrame::Create(in_SF);
214 pair.first = in_posePDF;
240 for (i = 0; i < n; i++)
251 for (i = 0; i < n; i++)
271 m_posesObsPair.first->changeCoordinatesReference(newOrigin);
std::pair< mrpt::poses::CPose3DPDF::Ptr, mrpt::obs::CSensoryFrame::Ptr > TPosePDFSensFramePair
bool empty() const
Returns size()!=0.
#define THROW_EXCEPTION(msg)
This class stores a sequence of <Probabilistic Pose,SensoryFrame> pairs, thus a "metric map" can be t...
#define IMPLEMENTS_SERIALIZABLE(class_name, base, NameSpace)
To be added to all CSerializable-classes implementation files.
CSimpleMap & operator=(const CSimpleMap &o)
Copy.
bool loadFromFile(const std::string &filName)
Load the contents of this object from a .simplemap binary file (possibly compressed with gzip) ...
#define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(__V)
For use in CSerializable implementations.
CArchiveStreamBase< STREAM > archiveFrom(STREAM &s)
Helper function to create a templatized wrapper CArchive object for a: MRPT's CStream, std::istream, std::ostream, std::stringstream.
#define ASSERT_(f)
Defines an assertion mechanism.
void serializeFrom(mrpt::serialization::CArchive &in, uint8_t serial_version) override
Pure virtual method for reading (deserializing) from an abstract archive.
virtual CObject * clone() const =0
Returns a deep copy (clone) of the object, indepently of its class.
This namespace contains representation of robot actions and observations.
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximat...
void set(size_t index, const mrpt::poses::CPose3DPDF::Ptr &in_posePDF, const mrpt::obs::CSensoryFrame::Ptr &in_SF)
Changes the i'th pair, first one is index '0'.
size_t size() const
Returns the count of pairs (pose,sensory data)
void get(size_t index, mrpt::poses::CPose3DPDF::Ptr &out_posePDF, mrpt::obs::CSensoryFrame::Ptr &out_SF) const
Access to the i'th pair, first one is index '0'.
Declares a class that represents a probability density function (pdf) of a 2D pose (x...
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
uint8_t serializeGetVersion() const override
Must return the current versioning number of the object.
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
void insertToPos(size_t index, const mrpt::poses::CPose3DPDF::Ptr &in_posePDF, const mrpt::obs::CSensoryFrame::Ptr &in_SF)
Insert a new pair to the sequence, making a copy of the smart pointer (it's not made unique) to...
The virtual base class which provides a unified interface for all persistent objects in MRPT...
Saves data to a file and transparently compress the data using the given compression level...
void insert(const mrpt::poses::CPose3DPDF *in_posePDF, const mrpt::obs::CSensoryFrame &in_SF)
Add a new pair to the sequence.
void changeCoordinatesOrigin(const mrpt::poses::CPose3D &newOrigin)
Change the coordinate origin of all stored poses, for consistency with future new poses to enter in t...
TPosePDFSensFramePairList m_posesObsPairs
The stored data.
Declares a class that represents a Probability Density Function (PDF) of a 3D pose (6D actually)...
const auto fn_pair_make_unique
void serializeTo(mrpt::serialization::CArchive &out) const override
Pure virtual method for writing (serializing) to an abstract archive.
bool saveToFile(const std::string &filName) const
Save this object to a .simplemap binary file (compressed with gzip)
void clear()
Remove all stored pairs.
void remove(size_t index)
Deletes the i'th pair, first one is index '0'.