GCC Code Coverage Report


Directory: ./
File: Geometry/Tools/interpolator.hpp
Date: 2024-04-14 07:32:34
Exec Total Coverage
Lines: 1 1 100.0%
Branches: 0 0 -%

Line Branch Exec Source
1 // ______ ______ _ _ _____ ______
2 // | ____| ____| | (_)/ ____| | ____|
3 // | |__ | |__ | | _| (___ ___| |__
4 // | __| | __| | | | |\___ \ / __| __|
5 // | | | |____| |____| |____) | (__| |____
6 // |_| |______|______|_|_____/ \___|______|
7 // Finite Elements for Life Sciences and Engineering
8 //
9 // License: LGL2.1 License
10 // FELiScE default license: LICENSE in root folder
11 //
12 // Main authors:
13 //
14
15 #ifndef FEL_INTERPOLATOR_HPP
16 #define FEL_INTERPOLATOR_HPP
17
18 // System includes
19
20 // External includes
21
22 // Project includes
23 // #include "Core/shared_pointers.hpp"
24 #include "Geometry/Tools/locator.hpp"
25
26 namespace felisce
27 {
28 ///@name felisce Globals
29 ///@{
30
31 ///@}
32 ///@name Type Definitions
33 ///@{
34
35 ///@}
36 ///@name Enum's
37 ///@{
38
39 ///@}
40 ///@name Functions
41 ///@{
42
43 ///@}
44 ///@name felisce Classes
45 ///@{
46
47 class Interpolator:
48 public Locator
49 {
50 public:
51 ///@name Type Definitions
52 ///@{
53
54 /// Pointer definition of Interpolator
55 FELISCE_CLASS_POINTER_DEFINITION(Interpolator);
56
57 ///@}
58 ///@name Life Cycle
59 ///@{
60
61 Interpolator() = delete;
62
63 Interpolator(GeometricMeshRegion* mesh, const bool allowProjection = false, const double tolRescaling = 1., const int verbose = 0);
64
65 Interpolator(const Interpolator& ) = delete;
66
67 Interpolator(Interpolator&& ) = delete;
68
69 Interpolator& operator=(const Interpolator& ) = delete;
70
71 Interpolator& operator=(Interpolator&& ) = delete;
72
73 4 ~Interpolator() = default;
74
75 ///@}
76 ///@name Operators
77 ///@{
78
79 ///@}
80 ///@name Operations
81 ///@{
82
83 void interpolate(std::vector<felInt>& indElt, std::vector<double>& intVal, std::vector<Point>& lstPoints);
84
85 void interpolate2D(std::vector<felInt>& idxElt, std::vector<double>& intVal, const std::vector<Point>& lstPoints);
86
87 void interpolate3D(std::vector<felInt>& idxElt, std::vector<double>& intVal, const std::vector<Point>& lstPoints);
88
89 ///@}
90 ///@name Access
91 ///@{
92
93 ///@}
94 ///@name Inquiry
95 ///@{
96
97 ///@}
98 ///@name Input and output
99 ///@{
100
101 ///@}
102 ///@name Friends
103 ///@{
104
105 ///@}
106 protected:
107 ///@name Protected static Member Variables
108 ///@{
109
110 ///@}
111 ///@name Protected member Variables
112 ///@{
113
114 ///@}
115 ///@name Protected Operators
116 ///@{
117
118 ///@}
119 ///@name Protected Operations
120 ///@{
121
122 ///@}
123 ///@name Protected Access
124 ///@{
125
126 ///@}
127 ///@name Protected Inquiry
128 ///@{
129
130 ///@}
131 ///@name Protected LifeCycle
132 ///@{
133
134 ///@}
135 private:
136 ///@name Private static Member Variables
137 ///@{
138
139 ///@}
140 ///@name Private member Variables
141 ///@{
142
143 ///@}
144 ///@name Private Operators
145 ///@{
146
147 ///@}
148 ///@name Private Operations
149 ///@{
150
151 int projectPointOnClosestTriangle(Point const& ppt, Point& pptProjected) const;
152
153 ///@}
154 ///@name Private Access
155 ///@{
156
157 ///@}
158 ///@name Private Inquiry
159 ///@{
160
161 ///@}
162 ///@name Private LifeCycle
163 ///@{
164
165 ///@}
166 };
167 ///@}
168 ///@name Type Definitions
169 ///@{
170
171 ///@}
172 } /* namespace felisce.*/
173
174 #endif /* FEL_INTERPOLATOR_HPP defined */
175
176