dune-grid  2.7.0
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 <memory>
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 std::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(std::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(std::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
functionwriter.hh
Dune::VTK::ConformingVolumeWriter::addCellData
void addCellData(const V &v, const std::string &name, int ncomps=1)
Definition: volumewriter.hh:50
Dune::VTK::BasicWriter::addCellData
void addCellData(const std::shared_ptr< FunctionWriter > &writer)
Definition: basicwriter.hh:74
Dune::VTK::VTKFunctionWriter
Base class for function writers.
Definition: functionwriter.hh:86
Dune::VTKFunction< GV >
basicwriter.hh
Dune::VTK::BasicWriter::addPointData
void addPointData(const std::shared_ptr< FunctionWriter > &writer)
Definition: basicwriter.hh:78
Dune::VTK::ConformingVolumeWriter::addCellData
void addCellData(VTKFunction *p)
Definition: volumewriter.hh:45
Dune::VTK::ConformingVolumeWriter
Definition: volumewriter.hh:21
Dune::VTK::ConformingVolumeWriter::addVertexData
void addVertexData(VTKFunction *p)
Definition: volumewriter.hh:59
Dune::VTK::ConformingVolumeWriter::VTKFunction
Dune::VTKFunction< GV > VTKFunction
Definition: volumewriter.hh:31
Dune::VTK::ConformingVolumeWriter::addVertexData
void addVertexData(const VTKFunctionPtr &p)
Definition: volumewriter.hh:54
Dune::VTK::ConformingVolumeWriter::addCellData
void addCellData(const VTKFunctionPtr &p)
Definition: volumewriter.hh:40
Dune::P0VTKFunction
Take a vector and interpret it as cell data for the VTKWriter.
Definition: function.hh:93
Dune::VTK::ConformingVolumeWriter::addVertexData
void addVertexData(const V &v, const std::string &name, int ncomps=1)
Definition: volumewriter.hh:64
Dune::VTK::ConformingVolumeWriter::ConformingVolumeWriter
ConformingVolumeWriter(const GV &gv_)
Definition: volumewriter.hh:34
Dune::VTK::ConformingVolumeIteratorFactory
Definition: volumeiterators.hh:21
Dune::VTK::ConformingVolumeWriter::VTKFunctionPtr
std::shared_ptr< VTKFunction > VTKFunctionPtr
Definition: volumewriter.hh:32
Dune::VTK::BasicWriter
Definition: basicwriter.hh:33
function.hh
Functions for VTK output.
Dune::P1VTKFunction
Take a vector and interpret it as point data for the VTKWriter.
Definition: function.hh:201
Dune
Include standard header files.
Definition: agrid.hh:58
volumeiterators.hh