OGS
MeshValidation.h
Go to the documentation of this file.
1 
15 #pragma once
16 
17 #include <array>
18 #include <vector>
19 #include <limits>
20 
22 
23 namespace MeshLib {
24  class Mesh;
25  class Element;
26 
30 struct MeshValidation final
31 {
34  explicit MeshValidation(MeshLib::Mesh& mesh);
35 
42  static std::vector<ElementErrorCode> testElementGeometry(
43  const MeshLib::Mesh &mesh,
44  double min_volume = std::numeric_limits<double>::epsilon());
45 
50  static std::array<std::string, static_cast<std::size_t>(ElementErrorFlag::MaxValue)>
51  ElementErrorCodeOutput(const std::vector<ElementErrorCode> &error_codes);
52 
63  static unsigned detectHoles(MeshLib::Mesh const& mesh);
64 };
65 
66 } // end namespace MeshLib
Definition of ElementErrorCodes.
A collection of methods for testing mesh quality and correctness.
static std::vector< ElementErrorCode > testElementGeometry(const MeshLib::Mesh &mesh, double min_volume=std::numeric_limits< double >::epsilon())
MeshValidation(MeshLib::Mesh &mesh)
static std::array< std::string, static_cast< std::size_t >ElementErrorFlag::MaxValue)> ElementErrorCodeOutput(const std::vector< ElementErrorCode > &error_codes)
static unsigned detectHoles(MeshLib::Mesh const &mesh)