include
lvr2
reconstruction
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
"
38
#include "
lvr2/geometry/BoundingBox.hpp
"
39
40
#include <memory>
41
#include <vector>
42
43
namespace
lvr2
44
{
45
46
template
<
typename
BaseVecT>
47
class
VirtualGrid
48
{
49
public
:
58
VirtualGrid
(
BoundingBox<BaseVecT>
& bb,
59
size_t
gridCellSize,
60
float
voxelsize);
61
62
66
virtual
~VirtualGrid
();
67
72
void
calculateBoxes
();
73
78
void
setBoundingBox
(
BoundingBox<BaseVecT>
bb);
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
102
BoundingBox<BaseVecT>
m_pcbb
;
103
104
// initial Bounding Box, around the left corner of the PointCloud-BB
105
BoundingBox<BaseVecT>
m_initbox
;
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
111
size_t
m_gridCellSize
;
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