Loading [MathJax]/extensions/tex2jax.js
MeshKernel
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages Concepts
MeshEdgeLength.hpp
1// it under the terms of the GNU General Public License as published by
2// the Free Software Foundation version 3.
3//
4// This program is distributed in the hope that it will be useful,
5// but WITHOUT ANY WARRANTY; without even the implied warranty of
6// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7// GNU General Public License for more details.
8//
9// You should have received a copy of the GNU General Public License
10// along with this program. If not, see <http://www.gnu.org/licenses/>.
11//
12// contact: delft3d.support@deltares.nl
13// Stichting Deltares
14// P.O. Box 177
15// 2600 MH Delft, The Netherlands
16//
17// All indications and logos of, and references to, "Delft3D" and "Deltares"
18// are registered trademarks of Stichting Deltares, and remain the property of
19// Stichting Deltares. All rights reserved.
20//
21//------------------------------------------------------------------------------
22
23#pragma once
24
25#include <span>
26#include <vector>
27
28#include "MeshKernel/Mesh.hpp"
29#include "MeshKernel/Polygons.hpp"
30
31namespace meshkernel::algo
32{
34 std::vector<double> ComputeMeshEdgeLength(const Mesh& mesh);
35
37 void ComputeMeshEdgeLength(const Mesh& mesh, std::span<double> length);
38
40 double MinEdgeLength(const Mesh& mesh, const Polygons& polygon,
41 const std::span<const double> edgeLengths);
42
44 double MaxLengthSurroundingEdges(const Mesh& mesh,
45 const UInt nodeId,
46 const std::span<const double> edgeLengths);
47
49 static double ComputeEdgeLength(const Mesh& mesh, const UInt edgeId);
50
51} // namespace meshkernel::algo
std::uint32_t UInt
Integer type used when indexing mesh graph entities.
Definition Definitions.hpp:39