3 #ifndef DUNE_IO_GNUPLOT_HH
4 #define DUNE_IO_GNUPLOT_HH
16 #include <dune/common/fvector.hh>
27 template<
class Gr
idView>
30 typedef typename GridView::Grid::ctype ctype;
37 dune_static_assert(dimworld==1 || dimworld==2,
"GnuPlot export only works for worlddim==1 and worlddim==2");
39 _data.resize(_is.size(0)*2);
46 template <
class DataContainer>
47 void addCellData(
const DataContainer& data,
const std::string & name)
50 DUNE_THROW(IOError,
"Gnuplot cell data writing is only supported for grids in a 1d world!");
51 addData(cellData, data, name);
58 template <
class DataContainer>
61 addData(vertexData, data, name);
67 void write(
const std::string& filename)
const;
70 enum DataType { vertexData, cellData };
73 std::vector< std::vector< float > > _data;
74 std::vector< std::string > _names;
76 template <
class DataContainer>
77 void addData(DataType t,
const DataContainer& data,
const std::string & name);
79 void writeRow(std::ostream & file,
80 const FieldVector<ctype, dimworld>& position,
81 const std::vector<float> & data)
const;
106 :
GnuplotWriter<typename G::LevelGridView>(grid.levelGridView(level))
114 #endif // DUNE_IO_GNUPLOT_HH