diff --git a/amdis/MeshCreator.hpp b/amdis/MeshCreator.hpp index 5649dfa010f0bb7812f3acb451ff97c1a259c5cc..080b2838551ef5f6993cdb3404b82851feb7153b 100644 --- a/amdis/MeshCreator.hpp +++ b/amdis/MeshCreator.hpp @@ -12,9 +12,20 @@ #if HAVE_ALBERTA #include #endif + #include #include +#if HAVE_DUNE_VTK +#include +#include +#endif + +#if HAVE_DUNE_GMSH4 +#include +#include +#endif + #include #include #include @@ -166,8 +177,19 @@ namespace AMDiS auto ext = fn.extension(); if (ext == ".msh") { +#if HAVE_DUNE_GMSH4 + if (Dune::Gmsh4::fileVersion(filename)[0] >= 4) + return Dune::Gmsh4Reader>::createGridFromFile(filename); + else +#else return read_gmsh_file(filename, Dune::PriorityTag<42>{}); +#endif } +#if HAVE_DUNE_VTK + else if (ext == ".vtu") { + return Dune::VtkReader>::createGridFromFile(filename); + } +#endif else if (ext == ".1d" || ext == ".2d" || ext == ".3d" || ext == ".amc") { return read_alberta_file(filename, Dune::PriorityTag<42>{}); }