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::pbmap
30 {
31 /** A class used to store a Plane-based Map (PbMap). A PbMap consists of a set
32  * of planar patches
33  * described by geometric features (shape, relative position, etc.) and/or
34  * radiometric features
35  * (dominant color). It is organized as an annotated, undirected graph, where
36  * nodes stand for planar
37  * patches and edges connect neighbor planes when the distance between their
38  * closest points is under
39  * a threshold. This graph structure permits to find efficiently the closest
40  * neighbors of a plane,
41  * or to select groups of nearby planes representing part of the scene.
42  *
43  *\ingroup mrpt_pbmap_grp
44  */
46 {
48 
49  public:
50  /*!Constructor.*/
51  PbMap();
52 
53  /*!Vector to store the 3D-planes which are the basic characteristic of our
54  * map.*/
55  std::vector<Plane> vPlanes;
56 
57  /*!Label to store a semantic attribute*/
59 
60  /*!Floor plane id*/
62 
63  /*!Registered point cloud from the RGB-D or Depth frames and visual
64  * odometry.*/
65  pcl::PointCloud<PointT>::Ptr globalMapPtr;
66 
67  pcl::PointCloud<pcl::PointXYZRGBA>::Ptr edgeCloudPtr;
68  pcl::PointCloud<pcl::PointXYZRGBA>::Ptr outEdgeCloudPtr;
70 
71  /*!Save PbMap in the given filePath*/
72  void savePbMap(std::string filePath);
73 
74  /*!Load a PbMap from the given filePath*/
75  void loadPbMap(std::string PbMapFile);
76 
77  /*!Merge two pbmaps*/
78  void MergeWith(PbMap& pbm, Eigen::Matrix4f& T);
79 
80  /*! Print PbMap content to a text file*/
81  void printPbMap(std::string txtFilePbm);
82 
83  // boost::mutex mtx_pbmap_busy;
84 };
85 }
86 #endif
87 
88 #endif
89 
90 
unsigned background
Definition: pbmap/PbMap.h:69
void loadPbMap(std::string PbMapFile)
Definition: PbMap.cpp:96
unsigned foreground
Definition: pbmap/PbMap.h:69
unsigned groundplane
Definition: pbmap/PbMap.h:69
GLsizei const GLchar ** string
Definition: glext.h:4101
pcl::PointCloud< PointT >::Ptr globalMapPtr
Definition: pbmap/PbMap.h:65
void printPbMap(std::string txtFilePbm)
Definition: PbMap.cpp:158
pcl::PointCloud< pcl::PointXYZRGBA >::Ptr outEdgeCloudPtr
Definition: pbmap/PbMap.h:68
#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:67
std::string label
Definition: pbmap/PbMap.h:58
The virtual base class which provides a unified interface for all persistent objects in MRPT...
Definition: CSerializable.h:30
void savePbMap(std::string filePath)
Definition: PbMap.cpp:85
std::vector< Plane > vPlanes
Definition: pbmap/PbMap.h:55
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:45



Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 7d5e6d718 Fri Aug 24 01:51:28 2018 +0200 at lun nov 2 08:35:50 CET 2020