MRPT  1.9.9
maps/src/maps/serializations_unittest.cpp
Go to the documentation of this file.
1 /* +------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | https://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2019, Individual contributors, see AUTHORS file |
6  | See: https://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See: https://www.mrpt.org/License |
8  +------------------------------------------------------------------------+ */
9 
10 #define MRPT_NO_WARN_BIG_HDR // Yes, we really want to include all classes.
11 #include <mrpt/maps.h>
13 
14 #include <CTraitsTest.h>
15 #include <gtest/gtest.h>
16 #include <mrpt/io/CMemoryStream.h>
18 
19 using namespace mrpt;
20 using namespace mrpt::maps;
21 using namespace mrpt::obs;
22 using namespace mrpt::io;
23 using namespace mrpt::serialization;
24 using namespace std;
25 
26 #define TEST_CLASS_MOVE_COPY_CTORS(_classname) \
27  template class mrpt::CTraitsTest<_classname>
28 
45 
46 // Create a set of classes, then serialize and deserialize to test possible
47 // bugs:
48 TEST(SerializeTestMaps, WriteReadToMem)
49 {
67 
68  for (auto& lstClasse : lstClasses)
69  {
70  try
71  {
72  CMemoryStream buf;
73  auto arch = mrpt::serialization::archiveFrom(buf);
74  {
76  lstClasse->createObject());
77  arch << *o;
78  o.reset();
79  }
80 
81  CSerializable::Ptr recons;
82  buf.Seek(0);
83  arch >> recons;
84  }
85  catch (const std::exception& e)
86  {
87  GTEST_FAIL() << "Exception during serialization test for class '"
88  << lstClasse->className << "':\n"
89  << e.what() << endl;
90  }
91  }
92 }
Digital Elevation Model (DEM), a mesh or grid representation of a surface which keeps the estimated h...
An observation from any sensor that can be summarized as a pointcloud.
A structure that holds runtime class type information.
Definition: CObject.h:31
A cloud of points in 2D or 3D, which can be built from a sequence of laser scans. ...
STL namespace.
A 2D grid map representing the reflectivity of the environment (for example, measured with an IR prox...
#define TEST_CLASS_MOVE_COPY_CTORS(_classname)
CWirelessPowerGridMap2D represents a PDF of wifi concentrations over a 2D area.
CArchiveStreamBase< STREAM > archiveFrom(STREAM &s)
Helper function to create a templatized wrapper CArchive object for a: MRPT&#39;s CStream, std::istream, std::ostream, std::stringstream.
Definition: CArchive.h:586
#define CLASS_ID(T)
Access to runtime class ID for a defined class name.
Definition: CObject.h:89
This CStream derived class allow using a memory buffer as a CStream.
uint64_t Seek(int64_t Offset, CStream::TSeekOrigin Origin=sFromBeginning) override
Introduces a pure virtual method for moving to a specified position in the streamed resource...
This namespace contains representation of robot actions and observations.
A class for storing a map of 3D probabilistic beacons, using a Montecarlo, Gaussian, or Sum of Gaussians (SOG) representation (for range-only SLAM).
Definition: CBeaconMap.h:43
A three-dimensional probabilistic occupancy grid, implemented as an octo-tree with the "octomap" C++ ...
Definition: COctoMap.h:40
A map of 2D/3D points with individual colours (RGB).
A map of 3D points with reflectance/intensity (float).
A 3D occupancy grid map with a regular, even distribution of voxels.
A class for storing an occupancy grid map.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
CRandomFieldGridMap3D represents a 3D regular grid where each voxel is associated one real-valued pro...
A cloud of points in 2D or 3D, which can be built from a sequence of laser scans. ...
static CAST_TO::Ptr from(const CAST_FROM_PTR &ptr)
Definition: CObject.h:366
const mrpt::rtti::TRuntimeClassId * lstClasses[]
CGasConcentrationGridMap2D represents a PDF of gas concentrations over a 2D area. ...
A three-dimensional probabilistic occupancy grid, implemented as an octo-tree with the "octomap" C++ ...
TEST(SerializeTestMaps, WriteReadToMem)
The class for storing individual "beacon landmarks" under a variety of 3D position PDF distributions...
Definition: CBeacon.h:35



Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 8fe78517f Sun Jul 14 19:43:28 2019 +0200 at lun oct 28 02:10:00 CET 2019