OGS
MeshValidation.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2
// SPDX-License-Identifier: BSD-3-Clause
3
4
#pragma once
5
6
#include <array>
7
#include <limits>
8
#include <vector>
9
10
#include "
MeshLib/Elements/ElementErrorCode.h
"
11
12
namespace
MeshLib
13
{
14
class
Mesh
;
15
class
Element
;
16
}
// namespace MeshLib
17
18
namespace
MeshToolsLib
19
{
20
24
struct
MeshValidation
final
25
{
31
static
bool
allNodesUsed
(
MeshLib::Mesh
const
& mesh);
32
38
static
bool
existCollapsibleNodes
(
MeshLib::Mesh
& mesh);
39
44
static
void
evaluateElementGeometry
(
MeshLib::Mesh
const
& mesh);
45
53
static
std::vector<ElementErrorCode>
testElementGeometry
(
54
const
MeshLib::Mesh
& mesh,
55
double
min_volume = std::numeric_limits<double>::epsilon());
56
61
static
std::array<std::string,
62
static_cast<
std::size_t
>
(
ElementErrorFlag::MaxValue
)>
63
ElementErrorCodeOutput
(
const
std::vector<ElementErrorCode>& error_codes);
64
77
static
unsigned
detectHoles
(
MeshLib::Mesh
const
& mesh);
78
};
79
80
}
// namespace MeshToolsLib
ElementErrorCode.h
ElementErrorFlag::MaxValue
@ MaxValue
Definition
ElementErrorCode.h:18
MeshLib::Element
Definition
Element.h:25
MeshLib::Mesh
Definition
Mesh.h:34
MeshLib
Definition
ProjectData.h:30
MeshToolsLib
Definition
Node.h:11
MeshToolsLib::MeshValidation
A collection of methods for testing mesh quality and correctness.
Definition
MeshValidation.h:25
MeshToolsLib::MeshValidation::existCollapsibleNodes
static bool existCollapsibleNodes(MeshLib::Mesh &mesh)
Definition
MeshValidation.cpp:66
MeshToolsLib::MeshValidation::detectHoles
static unsigned detectHoles(MeshLib::Mesh const &mesh)
Definition
MeshValidation.cpp:196
MeshToolsLib::MeshValidation::ElementErrorCodeOutput
static std::array< std::string, static_cast< std::size_t >(ElementErrorFlag::MaxValue)> ElementErrorCodeOutput(const std::vector< ElementErrorCode > &error_codes)
Definition
MeshValidation.cpp:158
MeshToolsLib::MeshValidation::allNodesUsed
static bool allNodesUsed(MeshLib::Mesh const &mesh)
Definition
MeshValidation.cpp:53
MeshToolsLib::MeshValidation::testElementGeometry
static std::vector< ElementErrorCode > testElementGeometry(const MeshLib::Mesh &mesh, double min_volume=std::numeric_limits< double >::epsilon())
Definition
MeshValidation.cpp:87
MeshToolsLib::MeshValidation::evaluateElementGeometry
static void evaluateElementGeometry(MeshLib::Mesh const &mesh)
Definition
MeshValidation.cpp:74
MeshToolsLib
MeshQuality
MeshValidation.h
Generated by
1.14.0