4#ifndef DUNE_GRID_IO_FILE_VTK_VOLUMEWRITER_HH
5#define DUNE_GRID_IO_FILE_VTK_VOLUMEWRITER_HH
9#include <dune/grid/io/file/vtk/basicwriter.hh>
11#include <dune/grid/io/file/vtk/functionwriter.hh>
12#include <dune/grid/io/file/vtk/volumeiterators.hh>
21 class ConformingVolumeWriter
22 :
public ConformingVolumeIteratorFactory<GV>,
23 public BasicWriter<ConformingVolumeIteratorFactory<GV> >
25 typedef ConformingVolumeIteratorFactory<GV> Factory;
26 typedef BasicWriter<Factory> Base;
32 typedef shared_ptr<VTKFunction> VTKFunctionPtr;
34 ConformingVolumeWriter(
const GV& gv_)
35 : Factory(gv_), Base(static_cast<const Factory&>(*this)), gv(gv_)
38 using Base::addCellData;
39 using Base::addPointData;
41 void addCellData(
const VTKFunctionPtr& p) {
42 addCellData(shared_ptr<typename Base::FunctionWriter>
43 (
new VTKFunctionWriter<VTKFunction>(p)));
46 void addCellData(VTKFunction* p) {
47 addCellData(VTKFunctionPtr(p));
51 void addCellData(
const V &v,
const std::string &name,
int ncomps=1) {
52 addCellData(
new P0VTKFunction<GV, V>(gv, v, name, ncomps));
55 void addVertexData(
const VTKFunctionPtr& p) {
56 addPointData(shared_ptr<typename Base::FunctionWriter>
57 (
new VTKFunctionWriter<VTKFunction>(p)));
60 void addVertexData(VTKFunction* p) {
61 addVertexData(VTKFunctionPtr(p));
65 void addVertexData(
const V &v,
const std::string &name,
int ncomps=1) {
66 addVertexData(
new P1VTKFunction<GV, V>(gv, v, name, ncomps));
Functions for VTK output.
Dune namespace.
Definition: alignment.hh:14
This file implements the class shared_ptr (a reference counting pointer), for those systems that don'...