diff --git a/Applications/DataExplorer/DataView/ElementTreeModel.cpp b/Applications/DataExplorer/DataView/ElementTreeModel.cpp index 4fc9f51e16c9bbd3b37c9044340156a1112d227d..748921e924526af6e7f171c7d2caafc431da8bcc 100644 --- a/Applications/DataExplorer/DataView/ElementTreeModel.cpp +++ b/Applications/DataExplorer/DataView/ElementTreeModel.cpp @@ -128,17 +128,20 @@ void ElementTreeModel::setMesh(MeshLib::Mesh const& mesh) auto* elements_item = new TreeItem(elements_number, _rootItem); _rootItem->appendChild(elements_item); - const std::array<QString, 7> n_element_names = {{ "Lines:", "Triangles:", "Quads:", "Tetrahedra:", "Hexahedra:", "Pyramids:", "Prisms:" }}; - const std::array<unsigned, 7>& n_element_types (MeshLib::MeshInformation::getNumberOfElementTypes(mesh)); - for (std::size_t i=0; i<n_element_types.size(); ++i) + auto const& n_element_types = + MeshLib::MeshInformation::getNumberOfElementTypes(mesh); + for (auto entry : n_element_types) { - if (n_element_types[i]) - { - QList<QVariant> elements_number; - elements_number << n_element_names[i] << QString::number(n_element_types[i]) << "" << ""; - auto* type_item = new TreeItem(elements_number, elements_item); - elements_item->appendChild(type_item); - } + QList<QVariant> elements_number; + elements_number << QString::fromStdString( + MeshLib::MeshElemType2String( + static_cast<MeshLib::MeshElemType>( + entry.first)) + + "s:") + << QString::number(entry.second) << "" + << ""; + auto* type_item = new TreeItem(elements_number, elements_item); + elements_item->appendChild(type_item); } QList<QVariant> bounding_box; diff --git a/Applications/FileIO/TetGenInterface.cpp b/Applications/FileIO/TetGenInterface.cpp index b79fd08ad6475a1b5e0bd3673d7f0f6c159a1177..7283b127f536bfd12e289ba2919eca5ff1fc46fb 100644 --- a/Applications/FileIO/TetGenInterface.cpp +++ b/Applications/FileIO/TetGenInterface.cpp @@ -715,8 +715,10 @@ void TetGenInterface::write2dElements(std::ofstream &out, const MeshLib::Mesh &mesh) const { // the surfaces header - const std::array<unsigned,7> types = MeshLib::MeshInformation::getNumberOfElementTypes(mesh); - const unsigned nTotalTriangles (types[1] + (2*types[2])); + auto const& types = MeshLib::MeshInformation::getNumberOfElementTypes(mesh); + const unsigned nTotalTriangles = + (types.at(MeshLib::MeshElemType::TRIANGLE) + + (2 * types.at(MeshLib::MeshElemType::QUAD))); out << nTotalTriangles << " 1\n"; const std::vector<MeshLib::Element*> &elements = mesh.getElements(); diff --git a/Applications/Utils/MeshEdit/UnityPreprocessing.cpp b/Applications/Utils/MeshEdit/UnityPreprocessing.cpp index ca4b31aeefe022e89dab1b0224a77e8f00760a66..09504fcf599ede4678e659796d79fdb8bca8d517 100644 --- a/Applications/Utils/MeshEdit/UnityPreprocessing.cpp +++ b/Applications/Utils/MeshEdit/UnityPreprocessing.cpp @@ -210,15 +210,16 @@ int main (int argc, char* argv[]) INFO("done.\n"); INFO("Checking for line elements..."); - std::array<unsigned, 7> const& n_element_types = + auto const& n_element_types = MeshLib::MeshInformation::getNumberOfElementTypes(*mesh); std::unique_ptr<MeshLib::Mesh> result; - if (n_element_types[0] == 0) + if (n_element_types.at(MeshLib::MeshElemType::LINE) == 0) { INFO ("No line elements found.\n"); result = std::move(mesh); } - else if (n_element_types[0] == mesh->getNumberOfElements()) + else if (n_element_types.at(MeshLib::MeshElemType::LINE) == + mesh->getNumberOfElements()) { INFO ("Keeping line mesh.\n"); result = std::move(mesh); diff --git a/MeshLib/MeshInformation.cpp b/MeshLib/MeshInformation.cpp index 86e7f60fd7177b703ff04a9ebe23da1dcec31501..ef72ea019461a21056792480872f00d125b2f06a 100644 --- a/MeshLib/MeshInformation.cpp +++ b/MeshLib/MeshInformation.cpp @@ -25,42 +25,15 @@ GeoLib::AABB MeshInformation::getBoundingBox(const MeshLib::Mesh& mesh) return GeoLib::AABB(nodes.begin(), nodes.end()); } -std::array<unsigned, 7> MeshInformation::getNumberOfElementTypes( +std::map<MeshElemType, unsigned> MeshInformation::getNumberOfElementTypes( const MeshLib::Mesh& mesh) { - std::array<unsigned, 7> n_element_types = {{0, 0, 0, 0, 0, 0, 0}}; + std::map<MeshElemType, unsigned> n_element_types; const std::vector<MeshLib::Element*>& elements(mesh.getElements()); for (auto element : elements) { MeshElemType t = element->getGeomType(); - if (t == MeshElemType::LINE) - { - n_element_types[0]++; - } - if (t == MeshElemType::TRIANGLE) - { - n_element_types[1]++; - } - if (t == MeshElemType::QUAD) - { - n_element_types[2]++; - } - if (t == MeshElemType::TETRAHEDRON) - { - n_element_types[3]++; - } - if (t == MeshElemType::HEXAHEDRON) - { - n_element_types[4]++; - } - if (t == MeshElemType::PYRAMID) - { - n_element_types[5]++; - } - if (t == MeshElemType::PRISM) - { - n_element_types[6]++; - } + n_element_types[t]++; } return n_element_types; } @@ -69,14 +42,14 @@ void MeshInformation::writeAllNumbersOfElementTypes(const MeshLib::Mesh& mesh) { auto const& nr_ele_types = MeshLib::MeshInformation::getNumberOfElementTypes(mesh); - const std::array<std::string, 7> element_names{ - "lines", "triangles", "quads", "tetrahedra", - "hexahedra", "pyramids", "prisms"}; - for (unsigned int element_type = 0; element_type < nr_ele_types.size(); - element_type++) + + INFO("Number of elements in the mesh:"); + for (auto entry : nr_ele_types) { - INFO("\t{:d} {:s} ", nr_ele_types[element_type], - element_names[element_type].c_str()); + INFO("\t{:s}s: {:d}", + MeshLib::MeshElemType2String( + static_cast<MeshLib::MeshElemType>(entry.first)), + entry.second); } } diff --git a/MeshLib/MeshInformation.h b/MeshLib/MeshInformation.h index d95921d3e910f914c36c475344ab9f46f4de913f..a8edf1c30e9a3b5acaee9a23ce6996a0575345b9 100644 --- a/MeshLib/MeshInformation.h +++ b/MeshLib/MeshInformation.h @@ -16,6 +16,7 @@ #include <array> #include <limits> +#include <map> #include <string> #include "GeoLib/AABB.h" @@ -68,7 +69,7 @@ public: * 5: \#pyramids * 6: \#prisms */ - static std::array<unsigned, 7> getNumberOfElementTypes( + static std::map<MeshElemType, unsigned> getNumberOfElementTypes( const MeshLib::Mesh& mesh); /// writes all numbers of element types diff --git a/Tests/FileIO/TestGmsInterface.cpp b/Tests/FileIO/TestGmsInterface.cpp index 88781845f015b6c6ad6042f0a58b275e90382973..0a8553838fb915f2a06f9d2964ba7f164a2287a2 100644 --- a/Tests/FileIO/TestGmsInterface.cpp +++ b/Tests/FileIO/TestGmsInterface.cpp @@ -25,10 +25,11 @@ TEST(FileIO, TestGmsInterface) ASSERT_EQ(11795, mesh->getNumberOfNodes()); ASSERT_EQ(19885, mesh->getNumberOfElements()); - std::array<unsigned, 7> types (MeshLib::MeshInformation::getNumberOfElementTypes(*mesh)); - ASSERT_EQ(1456, types[3]); // tets - ASSERT_EQ(1355, types[5]); // pyramids - ASSERT_EQ(17074, types[6]); // prism + auto const& types = + MeshLib::MeshInformation::getNumberOfElementTypes(*mesh); + ASSERT_EQ(1456, types.at(MeshLib::MeshElemType::TETRAHEDRON)); // tets + ASSERT_EQ(1355, types.at(MeshLib::MeshElemType::PYRAMID)); // pyramids + ASSERT_EQ(17074, types.at(MeshLib::MeshElemType::PRISM)); // prism auto const& bounds = MeshLib::MeshInformation::getValueBounds<int>(*mesh, "MaterialIDs"); ASSERT_TRUE(boost::none != bounds); diff --git a/Tests/FileIO_SWMM/TestSwmmInterface.cpp b/Tests/FileIO_SWMM/TestSwmmInterface.cpp index 5e350b2e4ab5df4e617f8f862cfbe7ba0012973d..bfb92f234ed8f839c07367a0fa83da980e8de045 100644 --- a/Tests/FileIO_SWMM/TestSwmmInterface.cpp +++ b/Tests/FileIO_SWMM/TestSwmmInterface.cpp @@ -66,8 +66,9 @@ TEST(FileIO, TestSwmmInterface) for (std::size_t i=3; i<n_nodes; ++i) ASSERT_NEAR(0, (*depth)[i], std::numeric_limits<double>::epsilon()); - std::array<unsigned, 7> types (MeshLib::MeshInformation::getNumberOfElementTypes(mesh)); - ASSERT_EQ(n_elems, types[0]); // all elems are lines + auto const& types = MeshLib::MeshInformation::getNumberOfElementTypes(mesh); + ASSERT_EQ(n_elems, + types.at(MeshLib::MeshElemType::LINE)); // all elems are lines auto const bounds = MeshLib::MeshInformation::getValueBounds<int>(mesh, "MaterialIDs"); ASSERT_TRUE(boost::none != bounds); diff --git a/Tests/MeshLib/TestAddLayerToMesh.cpp b/Tests/MeshLib/TestAddLayerToMesh.cpp index 413941a6232d4c66200f65b7763f5cbd6721f73b..516cc91aebef30ab493642936edeb885693b9a85 100644 --- a/Tests/MeshLib/TestAddLayerToMesh.cpp +++ b/Tests/MeshLib/TestAddLayerToMesh.cpp @@ -70,9 +70,10 @@ TEST(MeshLib, AddTopLayerToLineMesh) ASSERT_EQ(2*mesh->getNumberOfNodes(), result->getNumberOfNodes()); ASSERT_EQ(2*mesh->getNumberOfElements(), result->getNumberOfElements()); - std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result)); - ASSERT_EQ(5, n_elems[0]); // tests if 5 lines are present - ASSERT_EQ(5, n_elems[2]); // tests if 5 quads are present + auto const& n_elems = + MeshLib::MeshInformation::getNumberOfElementTypes(*result); + ASSERT_EQ(5, n_elems.at(MeshLib::MeshElemType::LINE)); + ASSERT_EQ(5, n_elems.at(MeshLib::MeshElemType::QUAD)); AddLayerValidation::testZCoords2D(*mesh, *result, height); AddLayerValidation::validate(*result, false); @@ -87,9 +88,10 @@ TEST(MeshLib, AddBottomLayerToLineMesh) ASSERT_EQ(2*mesh->getNumberOfNodes(), result->getNumberOfNodes()); ASSERT_EQ(2*mesh->getNumberOfElements(), result->getNumberOfElements()); - std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result)); - ASSERT_EQ(5, n_elems[0]); // tests if 5 lines are present - ASSERT_EQ(5, n_elems[2]); // tests if 5 quads are present + auto const& n_elems = + MeshLib::MeshInformation::getNumberOfElementTypes(*result); + ASSERT_EQ(5, n_elems.at(MeshLib::MeshElemType::LINE)); + ASSERT_EQ(5, n_elems.at(MeshLib::MeshElemType::QUAD)); AddLayerValidation::testZCoords2D(*mesh, *result, -1 * height); AddLayerValidation::validate(*result, false); @@ -118,9 +120,12 @@ TEST(MeshLib, AddTopLayerToTriMesh) ASSERT_EQ(2*mesh->getNumberOfNodes(), result->getNumberOfNodes()); ASSERT_EQ(2*mesh->getNumberOfElements(), result->getNumberOfElements()); - std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result)); - ASSERT_EQ(mesh->getNumberOfElements(), n_elems[1]); // tests if 50 tris are present - ASSERT_EQ(mesh->getNumberOfElements(), n_elems[6]); // tests if 50 prisms are present + auto const& n_elems = + MeshLib::MeshInformation::getNumberOfElementTypes(*result); + ASSERT_EQ(mesh->getNumberOfElements(), + n_elems.at(MeshLib::MeshElemType::TRIANGLE)); + ASSERT_EQ(mesh->getNumberOfElements(), + n_elems.at(MeshLib::MeshElemType::PRISM)); ASSERT_EQ(1, result->getProperties().getPropertyVectorNames().size()); auto const* const new_mats = @@ -141,9 +146,10 @@ TEST(MeshLib, AddBottomLayerToTriMesh) ASSERT_EQ(2*mesh->getNumberOfNodes(), result->getNumberOfNodes()); ASSERT_EQ(2*mesh->getNumberOfElements(), result->getNumberOfElements()); - std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result)); - ASSERT_EQ(50, n_elems[1]); // tests if 50 tris are present - ASSERT_EQ(50, n_elems[6]); // tests if 50 prisms are present + auto const& n_elems = + MeshLib::MeshInformation::getNumberOfElementTypes(*result); + ASSERT_EQ(50, n_elems.at(MeshLib::MeshElemType::TRIANGLE)); + ASSERT_EQ(50, n_elems.at(MeshLib::MeshElemType::PRISM)); AddLayerValidation::testZCoords2D(*mesh, *result, -1 * height); AddLayerValidation::validate(*result, true); @@ -158,9 +164,10 @@ TEST(MeshLib, AddTopLayerToQuadMesh) ASSERT_EQ(2*mesh->getNumberOfNodes(), result->getNumberOfNodes()); ASSERT_EQ(2*mesh->getNumberOfElements(), result->getNumberOfElements()); - std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result)); - ASSERT_EQ(25, n_elems[2]); // tests if 25 quads are present - ASSERT_EQ(25, n_elems[4]); // tests if 25 hexes are present + auto const& n_elems = + MeshLib::MeshInformation::getNumberOfElementTypes(*result); + ASSERT_EQ(25, n_elems.at(MeshLib::MeshElemType::QUAD)); + ASSERT_EQ(25, n_elems.at(MeshLib::MeshElemType::HEXAHEDRON)); AddLayerValidation::testZCoords2D(*mesh, *result, height); AddLayerValidation::validate(*result, true); @@ -175,9 +182,10 @@ TEST(MeshLib, AddBottomLayerToQuadMesh) ASSERT_EQ(2*mesh->getNumberOfNodes(), result->getNumberOfNodes()); ASSERT_EQ(2*mesh->getNumberOfElements(), result->getNumberOfElements()); - std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result)); - ASSERT_EQ(25, n_elems[2]); // tests if 25 quads are present - ASSERT_EQ(25, n_elems[4]); // tests if 25 hexes are present + auto const& n_elems = + MeshLib::MeshInformation::getNumberOfElementTypes(*result); + ASSERT_EQ(25, n_elems.at(MeshLib::MeshElemType::QUAD)); + ASSERT_EQ(25, n_elems.at(MeshLib::MeshElemType::HEXAHEDRON)); AddLayerValidation::testZCoords2D(*mesh, *result, -1 * height); AddLayerValidation::validate(*result, true); @@ -192,8 +200,9 @@ TEST(MeshLib, AddTopLayerToHexMesh) ASSERT_EQ(mesh->getNumberOfNodes(), result->getNumberOfNodes()-36); ASSERT_EQ(mesh->getNumberOfElements(), result->getNumberOfElements()-25); - std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result)); - ASSERT_EQ(150, n_elems[4]); // tests if 150 hexes are present + auto const& n_elems = + MeshLib::MeshInformation::getNumberOfElementTypes(*result); + ASSERT_EQ(150, n_elems.at(MeshLib::MeshElemType::HEXAHEDRON)); MathLib::Vector3 const dir(0, 0, -1); std::unique_ptr<MeshLib::Mesh> const test_input ( @@ -213,8 +222,9 @@ TEST(MeshLib, AddBottomLayerToHexMesh) ASSERT_EQ(mesh->getNumberOfNodes(), result->getNumberOfNodes()-36); ASSERT_EQ(mesh->getNumberOfElements(), result->getNumberOfElements()-25); - std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result)); - ASSERT_EQ(150, n_elems[4]); // tests if 150 hexes are present + auto const& n_elems = + MeshLib::MeshInformation::getNumberOfElementTypes(*result); + ASSERT_EQ(150, n_elems.at(MeshLib::MeshElemType::HEXAHEDRON)); MathLib::Vector3 const dir(0, 0, 1); std::unique_ptr<MeshLib::Mesh> const test_input ( @@ -235,9 +245,10 @@ TEST(MeshLib, AddTopLayerToPrismMesh) ASSERT_EQ(mesh2->getNumberOfNodes()/2.0 * 3, result->getNumberOfNodes()); ASSERT_EQ(mesh2->getNumberOfElements()/2.0 * 3, result->getNumberOfElements()); - std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result)); - ASSERT_EQ(50, n_elems[1]); // tests if 50 tris are present - ASSERT_EQ(100, n_elems[6]); // tests if 50 prisms are present + auto const& n_elems = + MeshLib::MeshInformation::getNumberOfElementTypes(*result); + ASSERT_EQ(50, n_elems.at(MeshLib::MeshElemType::TRIANGLE)); + ASSERT_EQ(100, n_elems.at(MeshLib::MeshElemType::PRISM)); MathLib::Vector3 const dir(0, 0, -1); std::unique_ptr<MeshLib::Mesh> test_input ( @@ -265,9 +276,12 @@ TEST(MeshLib, AddBottomLayerToPrismMesh) ASSERT_EQ(mesh2->getNumberOfNodes()/2.0 * 3, result->getNumberOfNodes()); ASSERT_EQ(mesh2->getNumberOfElements()/2.0 * 3, result->getNumberOfElements()); - std::array<unsigned, 7> const n_elems (MeshLib::MeshInformation::getNumberOfElementTypes(*result)); - ASSERT_EQ(mesh->getNumberOfElements(), n_elems[1]); // tests if 50 tris are present - ASSERT_EQ(2 * mesh->getNumberOfElements(), n_elems[6]); // tests if 50 prisms are present + auto const& n_elems = + MeshLib::MeshInformation::getNumberOfElementTypes(*result); + ASSERT_EQ(mesh->getNumberOfElements(), + n_elems.at(MeshLib::MeshElemType::TRIANGLE)); + ASSERT_EQ(2 * mesh->getNumberOfElements(), + n_elems.at(MeshLib::MeshElemType::PRISM)); ASSERT_EQ(1, result->getProperties().getPropertyVectorNames().size()); auto const* const new_mats = result->getProperties().getPropertyVector<int>(mat_name); diff --git a/Tests/MeshLib/TestRasterToMesh.cpp b/Tests/MeshLib/TestRasterToMesh.cpp index 6ecfe62fa1058aa5a07261a05c3136f4e83a123e..5cb4837d35cf5f9990e629e5ea1abe68316da8f9 100644 --- a/Tests/MeshLib/TestRasterToMesh.cpp +++ b/Tests/MeshLib/TestRasterToMesh.cpp @@ -61,9 +61,9 @@ TEST_F(RasterToMeshTest, convertRasterToTriMeshElevation) mesh->getProperties().getPropertyVectorNames(); ASSERT_TRUE(names.empty()); - std::array<unsigned, 7> n_types = + auto const& n_types = MeshLib::MeshInformation::getNumberOfElementTypes(*mesh); - ASSERT_EQ(2 * _n_pix, n_types[1]); + ASSERT_EQ(2 * _n_pix, n_types.at(MeshLib::MeshElemType::TRIANGLE)); GeoLib::AABB aabb = MeshLib::MeshInformation::getBoundingBox(*mesh); ASSERT_NEAR(aabb.getMinPoint()[2], 0, @@ -83,9 +83,9 @@ TEST_F(RasterToMeshTest, convertRasterToQuadMeshElevation) std::vector<std::string> names = mesh->getProperties().getPropertyVectorNames(); ASSERT_TRUE(names.empty()); - std::array<unsigned, 7> n_types = + auto const& n_types = MeshLib::MeshInformation::getNumberOfElementTypes(*mesh); - ASSERT_EQ(_n_pix, n_types[2]); + ASSERT_EQ(_n_pix, n_types.at(MeshLib::MeshElemType::QUAD)); GeoLib::AABB aabb = MeshLib::MeshInformation::getBoundingBox(*mesh); ASSERT_NEAR(aabb.getMinPoint()[2], 0, @@ -136,9 +136,9 @@ TEST_F(RasterToMeshTest, convertRasterToTriMeshValue) ASSERT_NEAR(0, (*n)[2], std::numeric_limits<double>::epsilon()); } - std::array<unsigned, 7> n_types = + auto const& n_types = MeshLib::MeshInformation::getNumberOfElementTypes(*mesh); - ASSERT_EQ(2 * _n_pix, n_types[1]); + ASSERT_EQ(2 * _n_pix, n_types.at(MeshLib::MeshElemType::TRIANGLE)); } TEST_F(RasterToMeshTest, convertRasterToQuadMeshValue) @@ -170,9 +170,9 @@ TEST_F(RasterToMeshTest, convertRasterToQuadMeshValue) ASSERT_TRUE((*n)[2] == 0); } - std::array<unsigned, 7> n_types = + auto const& n_types = MeshLib::MeshInformation::getNumberOfElementTypes(*mesh); - ASSERT_EQ(_n_pix, n_types[2]); + ASSERT_EQ(_n_pix, n_types.at(MeshLib::MeshElemType::QUAD)); } TEST_F(RasterToMeshTest, convertRasterToPrismMeshValue) @@ -204,9 +204,9 @@ TEST_F(RasterToMeshTest, convertRasterToPrismMeshValue) ASSERT_TRUE(((*n)[2] == 0) || ((*n)[2] == _spacing)); } - std::array<unsigned, 7> n_types = + auto const& n_types = MeshLib::MeshInformation::getNumberOfElementTypes(*mesh); - ASSERT_EQ(2 * _n_pix, n_types[6]); + ASSERT_EQ(2 * _n_pix, n_types.at(MeshLib::MeshElemType::PRISM)); } TEST_F(RasterToMeshTest, convertRasterToHexMeshValue) @@ -238,9 +238,9 @@ TEST_F(RasterToMeshTest, convertRasterToHexMeshValue) ASSERT_TRUE(((*n)[2] == 0) || ((*n)[2] == _spacing)); } - std::array<unsigned, 7> n_types = + auto const& n_types = MeshLib::MeshInformation::getNumberOfElementTypes(*mesh); - ASSERT_EQ(_n_pix, n_types[4]); + ASSERT_EQ(_n_pix, n_types.at(MeshLib::MeshElemType::HEXAHEDRON)); } TEST_F(RasterToMeshTest, convertRasterToQuadMeshNone) @@ -262,9 +262,9 @@ TEST_F(RasterToMeshTest, convertRasterToQuadMeshNone) ASSERT_TRUE((*n)[2] == 0); } - std::array<unsigned, 7> n_types = + auto const& n_types = MeshLib::MeshInformation::getNumberOfElementTypes(*mesh); - ASSERT_EQ(_n_pix, n_types[2]); + ASSERT_EQ(_n_pix, n_types.at(MeshLib::MeshElemType::QUAD)); } #ifdef OGS_BUILD_GUI @@ -305,8 +305,8 @@ TEST_F(RasterToMeshTest, vtkImage) ASSERT_TRUE((*n)[2] == 0); } - std::array<unsigned, 7> n_types = + auto const& n_types = MeshLib::MeshInformation::getNumberOfElementTypes(*mesh); - ASSERT_EQ(2 * _n_pix, n_types[1]); + ASSERT_EQ(2 * _n_pix, n_types.at(MeshLib::MeshElemType::TRIANGLE)); } #endif