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(
72  BaseMesh<BaseVecT>& mesh,
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(
112  BaseMesh<BaseVecT>& mesh,
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_ */
virtual ~FastReconstruction()
Destructor.
virtual void getMesh(BaseMesh< BaseVecT > &mesh)=0
Returns the surface reconstruction of the given point set.
HalfEdgeMesh< Vec > mesh
Interface for triangle-meshes with adjacency information.
Definition: BaseMesh.hpp:140
A dynamic bounding box class.
Definition: BoundingBox.hpp:49
virtual ~FastReconstructionBase()=default
A surface reconstruction object that implements the standard marching cubes algorithm using a hashed ...
shared_ptr< HashGrid< BaseVecT, BoxT > > m_grid


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