FastReconstruction.hpp
Go to the documentation of this file.
1 
28  /*
29  * FastReconstruction.h
30  *
31  * Created on: 16.02.2011
32  * Author: Thomas Wiemann
33  */
34 
35 #ifndef _LVR2_RECONSTRUCTION_FASTRECONSTRUCTION_H_
36 #define _LVR2_RECONSTRUCTION_FASTRECONSTRUCTION_H_
37 
40 
41 //#include "PointsetMeshGenerator.hpp"
42 #include "LocalApproximation.hpp"
43 #include "FastBox.hpp"
44 #include "./SharpBox.hpp"
45 #include "BilinearFastBox.hpp"
46 #include "QueryPoint.hpp"
47 #include "PointsetSurface.hpp"
48 #include "HashGrid.hpp"
49 
50 
51 #include <unordered_map>
52 #include <memory>
53 
54 using std::shared_ptr;
55 using std::unordered_map;
56 
57 namespace lvr2
58 {
59 
60 template<typename BaseVecT>
62 {
63 public:
69  virtual void getMesh(BaseMesh<BaseVecT> &mesh) = 0;
70 
71  virtual void getMesh(
74  vector<unsigned int>& duplicates,
75  float comparePrecision
76  ) = 0;
77 
78  virtual ~FastReconstructionBase() = default;
79 };
80 
86 template<typename BaseVecT, typename BoxT>
88 {
89 public:
90 
97 
98 
102  virtual ~FastReconstruction() {};
103 
109  virtual void getMesh(BaseMesh<BaseVecT> &mesh);
110 
111  virtual void getMesh(
114  vector<unsigned int>& duplicates,
115  float comparePrecision
116  );
117 
118 private:
119 
120  shared_ptr<HashGrid<BaseVecT, BoxT>> m_grid;
121 };
122 
123 
124 } // namespace lvr2
125 
126 
127 #include "lvr2/reconstruction/FastReconstruction.tcc"
128 
129 #endif /* _LVR2_RECONSTRUCTION_FASTRECONSTRUCTION_H_ */
PointsetSurface.hpp
HashGrid.hpp
FastBox.hpp
BaseMesh.hpp
lvr2::FastReconstruction
A surface reconstruction object that implements the standard marching cubes algorithm using a hashed ...
Definition: FastReconstruction.hpp:87
lvr2::FastReconstruction::getMesh
virtual void getMesh(BaseMesh< BaseVecT > &mesh)
Returns the surface reconstruction of the given point set.
lvr2::FastReconstructionBase::~FastReconstructionBase
virtual ~FastReconstructionBase()=default
LocalApproximation.hpp
BilinearFastBox.hpp
lvr2::FastReconstruction::m_grid
shared_ptr< HashGrid< BaseVecT, BoxT > > m_grid
Definition: FastReconstruction.hpp:120
lvr2::BoundingBox
A dynamic bounding box class.
Definition: BoundingBox.hpp:49
QueryPoint.hpp
lvr2
Definition: BaseBufferManipulators.hpp:39
lvr2::BaseMesh
Interface for triangle-meshes with adjacency information.
Definition: BaseMesh.hpp:140
lvr2::FastReconstruction::~FastReconstruction
virtual ~FastReconstruction()
Destructor.
Definition: FastReconstruction.hpp:102
lvr2::FastReconstruction::FastReconstruction
FastReconstruction(shared_ptr< HashGrid< BaseVecT, BoxT >> grid)
Constructor.
mesh
HalfEdgeMesh< Vec > mesh
Definition: src/tools/lvr2_gs_reconstruction/Main.cpp:26
BoundingBox.hpp
lvr2::FastReconstructionBase::getMesh
virtual void getMesh(BaseMesh< BaseVecT > &mesh)=0
Returns the surface reconstruction of the given point set.
lvr2::HashGrid
Definition: HashGrid.hpp:94
lvr2::FastReconstructionBase
Definition: FastReconstruction.hpp:61
SharpBox.hpp


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