ChunkingPipeline.hpp
Go to the documentation of this file.
1 
35 #ifndef CHUNKING_PIPELINE_HPP
36 #define CHUNKING_PIPELINE_HPP
37 
39 
40 #include <boost/filesystem.hpp>
41 
44 #include "lvr2/types/ScanTypes.hpp"
45 
46 namespace lvr2
47 {
48 
49 template <typename BaseVecT>
51 {
52 public:
60  ChunkingPipeline(const boost::filesystem::path& hdf5Path, const boost::filesystem::path& configPath, std::shared_ptr<ChunkManager> chunkManager = nullptr);
61 
69  bool start(const boost::filesystem::path& scanDir);
70 
71 private:
72  // path to the HDF5 file
73  boost::filesystem::path m_hdf5Path;
74 
75  // path to config file
76  boost::filesystem::path m_configPath;
77 
78  // chunk manger instance
79  std::shared_ptr<ChunkManager> m_chunkManager;
80 
81  // scan project containing all scans
83 
84  // registration options
86 
87  // large scale reconstruct options
89 
90  // practicability analysis config values
91  double m_roughnessRadius = 0.3;
93  std::vector<float> m_practicabilityLayers;
94 
95  // status flag
96  bool m_running = false;
97 
101  void parseYAMLConfig();
102 
109  bool getScanProject(const boost::filesystem::path& dirPath);
110 
118 };
119 
120 } /* namespace lvr2 */
121 
122 #include "ChunkingPipeline.tcc"
123 #endif // CHUNKING_PIPELINE_HPP
std::vector< float > m_practicabilityLayers
std::shared_ptr< ChunkManager > m_chunkManager
void parseYAMLConfig()
Parse YAML config (m_configPath)
std::shared_ptr< MeshBuffer > MeshBufferPtr
Definition: MeshBuffer.hpp:217
boost::filesystem::path m_hdf5Path
bool getScanProject(const boost::filesystem::path &dirPath)
Get new scans from scan project.
bool start(const boost::filesystem::path &scanDir)
Start the chunking pipeline.
A struct to configure SLAMAlign.
Definition: SLAMOptions.hpp:45
ChunkingPipeline(const boost::filesystem::path &hdf5Path, const boost::filesystem::path &configPath, std::shared_ptr< ChunkManager > chunkManager=nullptr)
Creates a basic ChunkingPipeline instance.
Half-edge data structure implementing the BaseMesh interface.
std::shared_ptr< ScanProjectEditMark > ScanProjectEditMarkPtr
Definition: ScanTypes.hpp:357
ScanProjectEditMarkPtr m_scanProject
void practicabilityAnalysis(HalfEdgeMesh< BaseVecT > &hem, MeshBufferPtr meshBuffer)
Calculates practicability analysis of given mesh and adds it as channels to mesh buffer.
boost::filesystem::path m_configPath


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Mon Feb 28 2022 22:46:06