3 #ifndef DUNE_AMIRAMESH_WRITER_HH
4 #define DUNE_AMIRAMESH_WRITER_HH
8 #include <dune/common/array.hh>
11 #include <amiramesh/AmiraMesh.h>
20 template<
class Gr
idView>
46 template <
class Gr
idType2>
47 void addLevelGrid(
const GridType2& grid,
int level,
bool splitAll=
false);
57 template <
class Gr
idType2>
58 void addLeafGrid(
const GridType2& grid,
bool splitAll=
false);
66 template <
class DataContainer>
67 void addCellData(
const DataContainer& data,
const GridView& gridView,
bool GridSplitUp=
false);
75 template <
class DataContainer>
82 void write(
const std::string& filename,
bool ascii=
false)
const;
86 template <
class DataContainer>
88 const array<unsigned int, dim>& n,
89 const DataContainer& data);
103 const std::string& filename);
107 #if HAVE_AMIRAMESH // better: use a pointer here and forward-declare AmiraMesh
108 AmiraMesh amiramesh_;
116 template<
class Gr
idType>
128 this->
addGrid(grid.levelGridView(level));
138 const std::string& filename,
141 amiramesh.
write(filename);
152 template <
class VectorType>
155 const std::string& filename,
157 bool GridSplitUp=
false) {
159 if (f.size()==grid.size(level,GridType::dimension))
160 amiramesh.
addVertexData(f, grid.levelGridView(level),GridSplitUp);
162 amiramesh.
addCellData(f, grid.levelGridView(level),GridSplitUp);
163 amiramesh.
write(filename);
172 template<
class Gr
idType>
193 const std::string& filename) {
195 amiramesh.
write(filename);
204 template <
class VectorType>
207 const std::string& filename,
208 bool GridSplitUp =
false) {
210 if (f.size()==grid.size(GridType::dimension))
213 amiramesh.
addCellData(f, grid.leafGridView(),GridSplitUp);
215 amiramesh.
write(filename);
void write(const std::string &filename, bool ascii=false) const
Write AmiraMesh object to disk.
Definition: amirameshwriter.cc:551
Provides file writing facilities in the AmiraMesh format for level grids.
Definition: amirameshwriter.hh:117
static void writeBlockVector(const GridType &grid, const VectorType &f, const std::string &filename, int level, bool GridSplitUp=false)
Writes an ISTL block vector in AmiraMesh format.
Definition: amirameshwriter.hh:153
static void writeGrid(const GridType &grid, const std::string &filename)
Write a grid in AmiraMesh format.
Definition: amirameshwriter.hh:192
Grid view abstract base class.
Definition: common/gridview.hh:58
Provides file writing facilities in the AmiraMesh format for leaf grids.
Definition: amirameshwriter.hh:173
static void writeGrid(const GridType &grid, const std::string &filename, int level)
Write a grid in AmiraMesh format.
Definition: amirameshwriter.hh:137
LeafAmiraMeshWriter(const GridType &grid)
Constructor which initializes the AmiraMesh object with a given leaf grid.
Definition: amirameshwriter.hh:183
Provides file writing facilities in the AmiraMesh format.
Definition: amirameshwriter.hh:21
void addCellData(const DataContainer &data, const GridView &gridView, bool GridSplitUp=false)
Add cell data.
Definition: amirameshwriter.cc:326
store data in a human readable form
Definition: grapedataioformattypes.hh:15
The dimension of the grid.
Definition: common/gridview.hh:130
static void writeBlockVector(const GridType &grid, const VectorType &f, const std::string &filename, bool GridSplitUp=false)
Writes an ISTL block vector in AmiraMesh format.
Definition: amirameshwriter.hh:205
void addLeafGrid(const GridType2 &grid, bool splitAll=false)
Add leaf grid.
Definition: amirameshwriter.cc:318
LeafAmiraMeshWriter()
Default constructor.
Definition: amirameshwriter.hh:180
static void writeSurfaceGrid(const GridView &gridView, const std::string &filename)
Write a 2d grid in a 3d world.
Definition: amirameshwriter.cc:632
void addLevelGrid(const GridType2 &grid, int level, bool splitAll=false)
Add level grid.
Definition: amirameshwriter.cc:308
LevelAmiraMeshWriter()
Default constructor.
Definition: amirameshwriter.hh:124
LevelAmiraMeshWriter(const GridType &grid, int level)
Constructor which initializes the AmiraMesh object with a given level grid.
Definition: amirameshwriter.hh:127
void addUniformData(const GridView &gridView, const array< unsigned int, dim > &n, const DataContainer &data)
Write data on a uniform grid into an AmiraMesh file.
Definition: amirameshwriter.cc:564
void addGrid(const GridView &gridView, bool splitAll=false)
Add a grid view to the file.
Definition: amirameshwriter.cc:12
Include standard header files.
Definition: agrid.hh:59
void addVertexData(const DataContainer &data, const GridView &gridView, bool GridSplitUp=false)
Add vertex data.
Definition: amirameshwriter.cc:449