dune-grid  2.7.1
boundarywriter.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_BOUNDARYWRITER_HH
5 #define DUNE_GRID_IO_FILE_VTK_BOUNDARYWRITER_HH
6 
7 #include <memory>
8 #include <string>
9 
13 
14 namespace Dune {
17 
18  namespace VTK {
19 
20  template<typename GV>
23  public BasicWriter<NonConformingBoundaryIteratorFactory<GV> >
24  {
26  typedef BasicWriter<Factory> Base;
27 
28  const GV& gv;
29 
30  public:
32  : Factory(gv_), Base(static_cast<const Factory&>(*this)), gv(gv_)
33  { }
34 
35  using Base::addCellData;
36 
37  template<typename Func>
38  void addCellData(const std::shared_ptr<Func>& p, const std::string& name) {
39  addCellData(std::shared_ptr<typename Base::FunctionWriter>
40  (new SkeletonFunctionWriter<Func>(p, name)));
41  }
42 
43  template<typename Func>
44  void addCellData(Func* p, const std::string& name) {
45  addCellData(std::shared_ptr<Func>(p), name);
46  }
47 
48  using Base::addPointData;
49 
50  template<typename Func>
51  void addPointData(const std::shared_ptr<Func>& p, const std::string& name) {
52  addPointData(std::shared_ptr<typename Base::FunctionWriter>
53  (new SkeletonFunctionWriter<Func>(p, name)));
54  }
55 
56  template<typename Func>
57  void addPointData(Func* p, const std::string& name) {
58  addPointData(std::shared_ptr<Func>(p), name);
59  }
60 
61  };
62 
63  } // namespace VTK
64 
66 
67 } // namespace Dune
68 
69 #endif // DUNE_GRID_IO_FILE_VTK_BOUNDARYWRITER_HH
Functions for VTK output on the skeleton.
Functions for VTK output on the skeleton.
Include standard header files.
Definition: agrid.hh:59
Definition: basicwriter.hh:33
void addCellData(const std::shared_ptr< FunctionWriter > &writer)
Definition: basicwriter.hh:74
void addPointData(const std::shared_ptr< FunctionWriter > &writer)
Definition: basicwriter.hh:78
Definition: boundaryiterators.hh:157
Definition: boundarywriter.hh:24
void addPointData(const std::shared_ptr< Func > &p, const std::string &name)
Definition: boundarywriter.hh:51
void addCellData(Func *p, const std::string &name)
Definition: boundarywriter.hh:44
void addPointData(Func *p, const std::string &name)
Definition: boundarywriter.hh:57
NonConformingBoundaryWriter(const GV &gv_)
Definition: boundarywriter.hh:31
void addCellData(const std::shared_ptr< Func > &p, const std::string &name)
Definition: boundarywriter.hh:38
void addCellData(const std::shared_ptr< FunctionWriter > &writer)
Definition: basicwriter.hh:74
void addPointData(const std::shared_ptr< FunctionWriter > &writer)
Definition: basicwriter.hh:78
function writer for skeleton functions
Definition: skeletonfunction.hh:81