Loading [MathJax]/extensions/tex2jax.js
MeshKernel
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages Concepts
MeshOrthogonality.hpp
1//---- GPL ---------------------------------------------------------------------
2//
3// Copyright (C) Stichting Deltares, 2011-2025.
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 <span>
31#include <vector>
32
33#include "MeshKernel/Mesh2D.hpp"
34
35namespace meshkernel
36{
39 {
40 public:
42 static std::vector<double> Compute(const Mesh2D& mesh);
43
45 static void Compute(const Mesh2D& mesh, std::span<double> orthogonality);
46
47 private:
49 static double ComputeValue(const Mesh2D& mesh, const std::vector<Point>& faceCircumcentres, const UInt edgeId);
50 };
51
52} // namespace meshkernel
A class derived from Mesh, which describes unstructures 2d meshes.
Definition Mesh2D.hpp:58
Compute the orthogonality value for the edges.
Definition MeshOrthogonality.hpp:39
static void Compute(const Mesh2D &mesh, std::span< double > orthogonality)
Compute the orthogonality values overwriting the values in an array.
static std::vector< double > Compute(const Mesh2D &mesh)
Compute the orthogonality values returning values in a vector.
Contains the logic of the C++ static library.
Definition AveragingInterpolation.hpp:37
std::uint32_t UInt
Integer type used when indexing mesh graph entities.
Definition Definitions.hpp:39