OGS
MeshValidation.h
Go to the documentation of this file.
1
15
#pragma once
16
17
#include <array>
18
#include <limits>
19
#include <vector>
20
21
#include "
MeshLib/Elements/ElementErrorCode.h
"
22
23
namespace
MeshLib
24
{
25
class
Mesh;
26
class
Element;
27
}
// namespace MeshLib
28
29
namespace
MeshToolsLib
30
{
31
35
struct
MeshValidation
final
36
{
42
static
bool
allNodesUsed
(
MeshLib::Mesh
const
& mesh);
43
49
static
bool
existCollapsibleNodes
(
MeshLib::Mesh
& mesh);
50
55
static
void
evaluateElementGeometry
(
MeshLib::Mesh
const
& mesh);
56
64
static
std::vector<ElementErrorCode>
testElementGeometry
(
65
const
MeshLib::Mesh
& mesh,
66
double
min_volume = std::numeric_limits<double>::epsilon());
67
72
static
std::array<std::string,
73
static_cast<
std::size_t
>
(
ElementErrorFlag::MaxValue
)>
74
ElementErrorCodeOutput
(
const
std::vector<ElementErrorCode>& error_codes);
75
88
static
unsigned
detectHoles
(
MeshLib::Mesh
const
& mesh);
89
};
90
91
}
// namespace MeshToolsLib
ElementErrorCode.h
Definition of ElementErrorCodes.
ElementErrorFlag::MaxValue
@ MaxValue
MeshLib::Mesh
Definition
Mesh.h:43
MeshLib
Definition
ProjectData.h:41
MeshToolsLib
Definition
Node.h:29
MeshToolsLib::MeshValidation
A collection of methods for testing mesh quality and correctness.
Definition
MeshValidation.h:36
MeshToolsLib::MeshValidation::existCollapsibleNodes
static bool existCollapsibleNodes(MeshLib::Mesh &mesh)
Definition
MeshValidation.cpp:77
MeshToolsLib::MeshValidation::detectHoles
static unsigned detectHoles(MeshLib::Mesh const &mesh)
Definition
MeshValidation.cpp:207
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:169
MeshToolsLib::MeshValidation::allNodesUsed
static bool allNodesUsed(MeshLib::Mesh const &mesh)
Definition
MeshValidation.cpp:64
MeshToolsLib::MeshValidation::testElementGeometry
static std::vector< ElementErrorCode > testElementGeometry(const MeshLib::Mesh &mesh, double min_volume=std::numeric_limits< double >::epsilon())
Definition
MeshValidation.cpp:98
MeshToolsLib::MeshValidation::evaluateElementGeometry
static void evaluateElementGeometry(MeshLib::Mesh const &mesh)
Definition
MeshValidation.cpp:85
MeshToolsLib
MeshQuality
MeshValidation.h
Generated by
1.12.0