26 if (!bounds.has_value())
28 INFO(
"\t{:s}: Could not get value bounds for property vector.",
33 property.
size(), bounds->first, bounds->second);
41 const std::vector<MeshLib::Node*>& nodes(mesh.
getNodes());
45std::map<MeshLib::MeshElemType, unsigned>
48 std::map<MeshLib::MeshElemType, unsigned> n_element_types;
49 const std::vector<MeshLib::Element*>& elements(mesh.
getElements());
50 for (
auto element : elements)
55 return n_element_types;
60 auto const& nr_ele_types =
63 INFO(
"Number of elements in the mesh:");
64 for (
auto entry : nr_ele_types)
76 INFO(
"There are {:d} properties in the mesh:", properties.size());
78 for (
auto [name, property] : properties)
85 else if (
auto const* p =
90 else if (
auto const* p =
95 else if (
auto const* p =
100 else if (
auto const* p =
105 else if (
auto const* p =
111 else if (
auto const* p =
117 else if (
auto const* p =
123 else if (
auto const* p =
129 else if (
auto const* p =
137 "\t{:s}: Could not get value bounds for property vector of "
139 name,
typeid(*p).name());
146 INFO(
"Mesh Quality Control:");
154 INFO(
"{:d} hole(s) detected within the mesh", n_holes);
158 INFO(
"No holes found within the mesh.");
167 INFO(
"No MaterialIDs were found.");
170 std::vector<int> unique_matids = {};
172 for (
auto matid : *matids)
174 if (std::find(unique_matids.begin(), unique_matids.end(), matid) ==
177 unique_matids.push_back(matid);
180 std::sort(unique_matids.begin(), unique_matids.end());
182 return unique_matids;
Definition of the Element class.
void INFO(fmt::format_string< Args... > fmt, Args &&... args)
Definition of the MeshValidation class.
Class AABB is an axis aligned bounding box around a given set of geometric points of (template) type ...
std::vector< Node * > const & getNodes() const
Get the nodes-vector for the mesh.
std::vector< Element * > const & getElements() const
Get the element-vector for the mesh.
Properties & getProperties()
std::string const & getPropertyName() const
std::string MeshElemType2String(const MeshElemType t)
Given a MeshElemType this returns the appropriate string.
PropertyVector< int > const * materialIDs(Mesh const &mesh)
MeshElemType
Types of mesh elements supported by OpenGeoSys. Values are from VTKCellType enum.