amirameshreader.hh
00001 #ifndef DUNE_AMIRAMESH_READER_HH
00002 #define DUNE_AMIRAMESH_READER_HH
00003
00004 #include <string>
00005
00006 #include <amiramesh/AmiraMesh.h>
00007
00008 #include <dune/grid/common/gridfactory.hh>
00009
00010 namespace Dune {
00011
00016 template<class GridType>
00017 class AmiraMeshReader {
00018
00020 static void createDomain(GridFactory<GridType>& factory, const std::string& filename);
00021
00023 static void buildGrid(GridFactory<GridType>& factory, AmiraMesh* am);
00024
00026 static void build2dGrid(GridFactory<GridType>& factory, AmiraMesh* am);
00027
00028 public:
00029
00034 static GridType* read(const std::string& filename);
00035
00041 static void read(GridType& grid,
00042 const std::string& filename);
00043
00064 static GridType* read(const std::string& filename,
00065 const std::string& domainFilename);
00066
00068 static void read(GridType& grid,
00069 const std::string& filename,
00070 const std::string& domainFilename);
00071
00077 template<class DiscFuncType>
00078 static void readFunction(DiscFuncType& f, const std::string& filename);
00079
00080 };
00081
00082 }
00083
00084 #include "amiramesh/amirameshreader.cc"
00085
00086 #endif