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
lvr2::ScanProjectEditMarkPtr
std::shared_ptr< ScanProjectEditMark > ScanProjectEditMarkPtr
Definition: ScanTypes.hpp:357
lvr2::ChunkingPipeline::m_regOptions
SLAMOptions m_regOptions
Definition: ChunkingPipeline.hpp:85
lvr2::ChunkingPipeline::m_practicabilityLayers
std::vector< float > m_practicabilityLayers
Definition: ChunkingPipeline.hpp:93
lvr2::ChunkingPipeline
Definition: ChunkingPipeline.hpp:50
lvr2::ChunkingPipeline::m_chunkManager
std::shared_ptr< ChunkManager > m_chunkManager
Definition: ChunkingPipeline.hpp:79
lvr2::ChunkingPipeline::m_configPath
boost::filesystem::path m_configPath
Definition: ChunkingPipeline.hpp:76
lvr2::LSROptions
Definition: LargeScaleReconstruction.hpp:40
ScanTypes.hpp
lvr2::ChunkingPipeline::m_lsrOptions
LSROptions m_lsrOptions
Definition: ChunkingPipeline.hpp:88
lvr2::ChunkingPipeline::getScanProject
bool getScanProject(const boost::filesystem::path &dirPath)
Get new scans from scan project.
lvr2::ChunkingPipeline::start
bool start(const boost::filesystem::path &scanDir)
Start the chunking pipeline.
lvr2::ChunkingPipeline::m_running
bool m_running
Definition: ChunkingPipeline.hpp:96
LargeScaleReconstruction.hpp
SLAMOptions.hpp
lvr2
Definition: BaseBufferManipulators.hpp:39
lvr2::MeshBufferPtr
std::shared_ptr< MeshBuffer > MeshBufferPtr
Definition: MeshBuffer.hpp:217
lvr2::ChunkingPipeline::ChunkingPipeline
ChunkingPipeline(const boost::filesystem::path &hdf5Path, const boost::filesystem::path &configPath, std::shared_ptr< ChunkManager > chunkManager=nullptr)
Creates a basic ChunkingPipeline instance.
lvr2::ChunkingPipeline::practicabilityAnalysis
void practicabilityAnalysis(HalfEdgeMesh< BaseVecT > &hem, MeshBufferPtr meshBuffer)
Calculates practicability analysis of given mesh and adds it as channels to mesh buffer.
lvr2::ChunkingPipeline::m_roughnessRadius
double m_roughnessRadius
Definition: ChunkingPipeline.hpp:91
lvr2::SLAMOptions
A struct to configure SLAMAlign.
Definition: SLAMOptions.hpp:45
lvr2::ChunkingPipeline::m_hdf5Path
boost::filesystem::path m_hdf5Path
Definition: ChunkingPipeline.hpp:73
ChunkManager.hpp
lvr2::ChunkingPipeline::m_scanProject
ScanProjectEditMarkPtr m_scanProject
Definition: ChunkingPipeline.hpp:82
lvr2::ChunkingPipeline::m_heightDifferencesRadius
double m_heightDifferencesRadius
Definition: ChunkingPipeline.hpp:92
lvr2::HalfEdgeMesh
Half-edge data structure implementing the BaseMesh interface.
Definition: HalfEdgeMesh.hpp:70
lvr2::ChunkingPipeline::parseYAMLConfig
void parseYAMLConfig()
Parse YAML config (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 Wed Mar 2 2022 00:37:23