dune-grid  2.4.1
volumewriter.hh
Go to the documentation of this file.
1 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 // vi: set et ts=4 sw=2 sts=2:
3 
4 #ifndef DUNE_GRID_IO_FILE_VTK_VOLUMEWRITER_HH
5 #define DUNE_GRID_IO_FILE_VTK_VOLUMEWRITER_HH
6 
7 #include <dune/common/shared_ptr.hh>
8 
13 
14 namespace Dune {
17 
18  namespace VTK {
19 
20  template<typename GV>
23  public BasicWriter<ConformingVolumeIteratorFactory<GV> >
24  {
26  typedef BasicWriter<Factory> Base;
27 
28  const GV& gv;
29 
30  public:
32  typedef shared_ptr<VTKFunction> VTKFunctionPtr;
33 
34  ConformingVolumeWriter(const GV& gv_)
35  : Factory(gv_), Base(static_cast<const Factory&>(*this)), gv(gv_)
36  { }
37 
38  using Base::addPointData;
39 
40  void addCellData(const VTKFunctionPtr& p) {
41  Base::addCellData(shared_ptr<typename Base::FunctionWriter>
43  }
44 
47  }
48 
49  template<typename V>
50  void addCellData(const V &v, const std::string &name, int ncomps=1) {
51  addCellData(new P0VTKFunction<GV, V>(gv, v, name, ncomps));
52  }
53 
54  void addVertexData(const VTKFunctionPtr& p) {
55  addPointData(shared_ptr<typename Base::FunctionWriter>
57  }
58 
61  }
62 
63  template<typename V>
64  void addVertexData(const V &v, const std::string &name, int ncomps=1) {
65  addVertexData(new P1VTKFunction<GV, V>(gv, v, name, ncomps));
66  }
67 
68  };
69 
70  } // namespace VTK
71 
73 
74 } // namespace Dune
75 
76 #endif // DUNE_GRID_IO_FILE_VTK_VOLUMEWRITER_HH
shared_ptr< VTKFunction > VTKFunctionPtr
Definition: volumewriter.hh:32
Dune::VTKFunction< GV > VTKFunction
Definition: volumewriter.hh:31
Functions for VTK output.
Definition: volumeiterators.hh:21
void addVertexData(const V &v, const std::string &name, int ncomps=1)
Definition: volumewriter.hh:64
Definition: basicwriter.hh:33
void addCellData(VTKFunction *p)
Definition: volumewriter.hh:45
Definition: volumewriter.hh:21
void addVertexData(VTKFunction *p)
Definition: volumewriter.hh:59
void addPointData(const shared_ptr< FunctionWriter > &writer)
Definition: basicwriter.hh:78
Base class for function writers.
Definition: functionwriter.hh:86
void addCellData(const shared_ptr< FunctionWriter > &writer)
Definition: basicwriter.hh:74
Take a vector and interpret it as point data for the VTKWriter.
Definition: function.hh:186
void addCellData(const VTKFunctionPtr &p)
Definition: volumewriter.hh:40
ConformingVolumeWriter(const GV &gv_)
Definition: volumewriter.hh:34
void addCellData(const V &v, const std::string &name, int ncomps=1)
Definition: volumewriter.hh:50
void addVertexData(const VTKFunctionPtr &p)
Definition: volumewriter.hh:54
Take a vector and interpret it as cell data for the VTKWriter.
Definition: function.hh:88