Main MRPT website > C++ reference for MRPT 1.9.9
pbmap/PbMap.h
Go to the documentation of this file.
1 /* +------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2018, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +------------------------------------------------------------------------+ */
9 
10 /* Plane-based Map (PbMap) library
11  * Construction of plane-based maps and localization in it from RGBD Images.
12  * Writen by Eduardo Fernandez-Moral. See docs for <a
13  * href="group__mrpt__pbmap__grp.html" >mrpt-pbmap</a>
14  */
15 
16 #ifndef __PBMAP_H
17 #define __PBMAP_H
18 
19 #include <mrpt/config.h>
20 #if MRPT_HAS_PCL
21 
23 
24 #include <mrpt/pbmap/Plane.h>
25 #include <mrpt/pbmap/Miscellaneous.h> // For type PointT;
26 
27 //#include <boost/thread/thread.hpp>
28 
29 namespace mrpt
30 {
31 namespace pbmap
32 {
33 /** A class used to store a Plane-based Map (PbMap). A PbMap consists of a set
34  * of planar patches
35  * described by geometric features (shape, relative position, etc.) and/or
36  * radiometric features
37  * (dominant color). It is organized as an annotated, undirected graph, where
38  * nodes stand for planar
39  * patches and edges connect neighbor planes when the distance between their
40  * closest points is under
41  * a threshold. This graph structure permits to find efficiently the closest
42  * neighbors of a plane,
43  * or to select groups of nearby planes representing part of the scene.
44  *
45  *\ingroup mrpt_pbmap_grp
46  */
48 {
50 
51  public:
52  /*!Constructor.*/
53  PbMap();
54 
55  /*!Vector to store the 3D-planes which are the basic characteristic of our
56  * map.*/
57  std::vector<Plane> vPlanes;
58 
59  /*!Label to store a semantic attribute*/
61 
62  /*!Floor plane id*/
64 
65  /*!Registered point cloud from the RGB-D or Depth frames and visual
66  * odometry.*/
67  pcl::PointCloud<PointT>::Ptr globalMapPtr;
68 
69  pcl::PointCloud<pcl::PointXYZRGBA>::Ptr edgeCloudPtr;
70  pcl::PointCloud<pcl::PointXYZRGBA>::Ptr outEdgeCloudPtr;
72 
73  /*!Save PbMap in the given filePath*/
74  void savePbMap(std::string filePath);
75 
76  /*!Load a PbMap from the given filePath*/
77  void loadPbMap(std::string PbMapFile);
78 
79  /*!Merge two pbmaps*/
80  void MergeWith(PbMap& pbm, Eigen::Matrix4f& T);
81 
82  /*! Print PbMap content to a text file*/
83  void printPbMap(std::string txtFilePbm);
84 
85  // boost::mutex mtx_pbmap_busy;
86 };
87 } // namespace pbmap
88 } // namespace mrpt
89 
90 #endif
91 
92 #endif
unsigned background
Definition: pbmap/PbMap.h:71
void loadPbMap(std::string PbMapFile)
Definition: PbMap.cpp:96
unsigned foreground
Definition: pbmap/PbMap.h:71
unsigned groundplane
Definition: pbmap/PbMap.h:71
GLsizei const GLchar ** string
Definition: glext.h:4101
pcl::PointCloud< PointT >::Ptr globalMapPtr
Definition: pbmap/PbMap.h:67
void printPbMap(std::string txtFilePbm)
Definition: PbMap.cpp:158
pcl::PointCloud< pcl::PointXYZRGBA >::Ptr outEdgeCloudPtr
Definition: pbmap/PbMap.h:70
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
pcl::PointCloud< pcl::PointXYZRGBA >::Ptr edgeCloudPtr
Definition: pbmap/PbMap.h:69
std::string label
Definition: pbmap/PbMap.h:60
The virtual base class which provides a unified interface for all persistent objects in MRPT...
Definition: CSerializable.h:32
void savePbMap(std::string filePath)
Definition: PbMap.cpp:85
std::vector< Plane > vPlanes
Definition: pbmap/PbMap.h:57
void MergeWith(PbMap &pbm, Eigen::Matrix4f &T)
Definition: PbMap.cpp:119
A class used to store a Plane-based Map (PbMap).
Definition: pbmap/PbMap.h:47



Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at lun oct 28 00:14:14 CET 2019