1 #ifndef DUNE_IO_GNUPLOT_HH
2 #define DUNE_IO_GNUPLOT_HH
14 #include <dune/common/fvector.hh>
25 template<
class Gr
idView>
28 typedef typename GridView::Grid::ctype ctype;
35 dune_static_assert(dimworld==1 || dimworld==2,
"GnuPlot export only works for worlddim==1 and worlddim==2");
37 _data.resize(_is.size(0)*2);
44 template <
class DataContainer>
45 void addCellData(
const DataContainer& data,
const std::string & name)
48 DUNE_THROW(IOError,
"Gnuplot cell data writing is only supported for grids in a 1d world!");
49 addData(cellData, data, name);
56 template <
class DataContainer>
59 addData(vertexData, data, name);
65 void write(
const std::string& filename)
const;
68 enum DataType { vertexData, cellData };
71 std::vector< std::vector< float > > _data;
72 std::vector< std::string > _names;
74 template <
class DataContainer>
75 void addData(DataType t,
const DataContainer& data,
const std::string & name);
77 void writeRow(std::ostream & file,
78 const FieldVector<ctype, dimworld>& position,
79 const std::vector<float> & data)
const;
104 :
GnuplotWriter<typename G::LevelGridView>(grid.levelView(level))
112 #endif // DUNE_IO_GNUPLOT_HH