MeshKernel
TriangulationInterpolation.hpp
1 //---- GPL ---------------------------------------------------------------------
2 //
3 // Copyright (C) Stichting Deltares, 2011-2021.
4 //
5 // This program is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation version 3.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 //
17 // contact: delft3d.support@deltares.nl
18 // Stichting Deltares
19 // P.O. Box 177
20 // 2600 MH Delft, The Netherlands
21 //
22 // All indications and logos of, and references to, "Delft3D" and "Deltares"
23 // are registered trademarks of Stichting Deltares, and remain the property of
24 // Stichting Deltares. All rights reserved.
25 //
26 //------------------------------------------------------------------------------
27 
28 #pragma once
29 
30 #include <MeshKernel/Entities.hpp>
31 
32 namespace meshkernel
33 {
71  {
72 
73  public:
78  TriangulationInterpolation(const std::vector<Point>& locations,
79  const std::vector<Sample>& samples,
80  Projection projection);
81 
83  void Compute();
84 
87  [[nodiscard]] const auto& GetResults() const
88  {
89  return m_results;
90  }
91 
92  private:
93  const std::vector<Point>& m_locations;
94  const std::vector<Sample>& m_samples;
95  Projection m_projection;
96  std::vector<double> m_results;
97  };
98 
99 } // namespace meshkernel
meshkernel::Projection
Projection
Enumerator describing the supported projections.
Definition: Definitions.hpp:41
meshkernel::TriangulationInterpolation::GetResults
const auto & GetResults() const
Get the results.
Definition: TriangulationInterpolation.hpp:87
meshkernel::TriangulationInterpolation
A class used for triangulation interpolation.
Definition: TriangulationInterpolation.hpp:70
meshkernel
Contains the logic of the C++ static library.
Definition: AveragingInterpolation.hpp:36
meshkernel::TriangulationInterpolation::Compute
void Compute()
Compute results on the interpolation points.
meshkernel::TriangulationInterpolation::TriangulationInterpolation
TriangulationInterpolation(const std::vector< Point > &locations, const std::vector< Sample > &samples, Projection projection)
Constructor.