3 #ifndef DUNE_AMIRAMESH_READER_HH
4 #define DUNE_AMIRAMESH_READER_HH
9 #include <dune/common/to_unique_ptr.hh>
16 #include <amiramesh/AmiraMesh.h>
28 template<
class Gr
idType>
29 class AmiraMeshReader {
31 using ctype =
typename GridType::ctype;
34 enum {dim = GridType::dimension};
37 static void createDomain(GridFactory<GridType>& factory,
const std::shared_ptr<PSurfaceBoundary<dim-1, ctype> >& boundary);
40 static void buildGrid(GridFactory<GridType>& factory, AmiraMesh* am);
43 static void build2dGrid(GridFactory<GridType>& factory, AmiraMesh* am);
55 static ToUniquePtr<GridType> read(
const std::string& filename);
62 static void read(GridType& grid,
63 const std::string& filename);
78 static ToUniquePtr<GridType> read(
const std::string& filename,
79 const std::shared_ptr<PSurfaceBoundary<dim-1, ctype> >& boundary);
91 static void read(GridType& grid,
92 const std::string& filename,
93 const std::shared_ptr<PSurfaceBoundary<dim-1, ctype> >& boundary);
103 template<
class DiscFuncType>
104 static void readFunction(DiscFuncType& f,
const std::string& filename);
114 #endif // #if HAVE_PSURFACE