6#include <range/v3/action/sort.hpp>
7#include <range/v3/action/unique.hpp>
8#include <range/v3/range/conversion.hpp>
9#include <range/v3/view/unique.hpp>
21 if (!bounds.has_value())
23 INFO(
"\t{:s}: Could not get value bounds for property vector.",
28 property.
size(), bounds->first, bounds->second);
36 const std::vector<MeshLib::Node*>& nodes(mesh.
getNodes());
40std::map<MeshLib::MeshElemType, unsigned>
43 std::map<MeshLib::MeshElemType, unsigned> n_element_types;
44 const std::vector<MeshLib::Element*>& elements(mesh.
getElements());
45 for (
auto element : elements)
50 return n_element_types;
55 auto const& nr_ele_types =
58 INFO(
"Number of elements in the mesh:");
59 for (
auto entry : nr_ele_types)
71 INFO(
"There are {:d} properties in the mesh:", properties.size());
73 for (
auto [name, property] : properties)
80 else if (
auto const* p =
85 else if (
auto const* p =
90 else if (
auto const* p =
95 else if (
auto const* p =
100 else if (
auto const* p =
106 else if (
auto const* p =
112 else if (
auto const* p =
118 else if (
auto const* p =
124 else if (
auto const* p =
132 "\t{:s}: Could not get value bounds for property vector of "
141 INFO(
"Mesh Quality Control:");
149 INFO(
"{:d} hole(s) detected within the mesh", n_holes);
153 INFO(
"No holes found within the mesh.");
162 INFO(
"No MaterialIDs were found.");
166 return *matids | ranges::views::unique | ranges::to<std::vector> |
167 ranges::actions::sort | ranges::actions::unique |
168 ranges::to<std::vector>;
void INFO(fmt::format_string< Args... > fmt, Args &&... args)
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
constexpr std::size_t size() const
std::string typeToString()
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.