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
BoundingBox< BaseVecT > m_initbox
void setBoundingBox(BoundingBox< BaseVecT > bb)
VirtualGrid(BoundingBox< BaseVecT > &bb, size_t gridCellSize, float voxelsize)
std::shared_ptr< std::vector< BoundingBox< BaseVecT > > > getBoxes()
Definition: VirtualGrid.hpp:84
A dynamic bounding box class.
Definition: BoundingBox.hpp:49
virtual ~VirtualGrid()
void generateNeighbours()
std::vector< BoundingBox< BaseVecT > > m_boxes
BoundingBox< BaseVecT > m_pcbb


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