VirtualGrid.hpp
Go to the documentation of this file.
1 
28 /*
29  * VirtualGrid.hpp
30  *
31  * @date 17.09.19
32  * @author Pao
33  */
34 
35 #ifndef VIRTUALGRID_H
36 #define VIRTUALGRID_H
37 #include "BigGrid.hpp"
39 
40 #include <memory>
41 #include <vector>
42 
43 namespace lvr2
44 {
45 
46 template <typename BaseVecT>
48 {
49  public:
59  size_t gridCellSize,
60  float voxelsize);
61 
62 
66  virtual ~VirtualGrid();
67 
72  void calculateBoxes();
73 
79 
84  std::shared_ptr<std::vector<BoundingBox<BaseVecT>>> getBoxes() { return std::make_shared<std::vector<BoundingBox<BaseVecT>>>(m_boxes); }
85 
86  private:
91  void findInitialBox();
92 
93 
94 
99  void generateNeighbours();
100 
101  // BoundingBox of the input PointCloud
103 
104  // initial Bounding Box, around the left corner of the PointCloud-BB
106 
107  // List of (smaller) BoundingBox (aka Chunks), which overlap the original PointCloud
108  std::vector<BoundingBox<BaseVecT>> m_boxes;
109 
110  // size of the "virtual" GridCell aka ChunkSize
112 
113  // voxelsize to verify the cellsize/chunksize
114  float m_voxelsize;
115 
116 };
117 
118 } // namespace lvr2
119 
120 #include "lvr2/reconstruction/VirtualGrid.tcc"
121 
122 #endif // VIRTUALGRID_H
lvr2::VirtualGrid::m_initbox
BoundingBox< BaseVecT > m_initbox
Definition: VirtualGrid.hpp:105
lvr2::VirtualGrid::m_pcbb
BoundingBox< BaseVecT > m_pcbb
Definition: VirtualGrid.hpp:102
lvr2::VirtualGrid::findInitialBox
void findInitialBox()
lvr2::VirtualGrid::calculateBoxes
void calculateBoxes()
lvr2::VirtualGrid::m_gridCellSize
size_t m_gridCellSize
Definition: VirtualGrid.hpp:111
lvr2::VirtualGrid::m_voxelsize
float m_voxelsize
Definition: VirtualGrid.hpp:114
lvr2::VirtualGrid::VirtualGrid
VirtualGrid(BoundingBox< BaseVecT > &bb, size_t gridCellSize, float voxelsize)
BigGrid.hpp
lvr2::VirtualGrid::m_boxes
std::vector< BoundingBox< BaseVecT > > m_boxes
Definition: VirtualGrid.hpp:108
lvr2::VirtualGrid::getBoxes
std::shared_ptr< std::vector< BoundingBox< BaseVecT > > > getBoxes()
Definition: VirtualGrid.hpp:84
lvr2::BoundingBox
A dynamic bounding box class.
Definition: BoundingBox.hpp:49
lvr2
Definition: BaseBufferManipulators.hpp:39
lvr2::VirtualGrid::setBoundingBox
void setBoundingBox(BoundingBox< BaseVecT > bb)
lvr2::VirtualGrid::generateNeighbours
void generateNeighbours()
lvr2::VirtualGrid
Definition: VirtualGrid.hpp:47
BoundingBox.hpp
lvr2::VirtualGrid::~VirtualGrid
virtual ~VirtualGrid()


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:25