Go to the documentation of this file.
4 #ifndef DUNE_VTKWRITER_HH
5 #define DUNE_VTKWRITER_HH
18 #include <dune/common/typetraits.hh>
19 #include <dune/common/exceptions.hh>
20 #include <dune/common/std/memory.hh>
21 #include <dune/common/indent.hh>
22 #include <dune/common/iteratorfacades.hh>
23 #include <dune/common/path.hh>
24 #include <dune/geometry/referenceelements.hh>
52 template<
typename F,
typename =
int>
54 :
public std::false_type
58 struct _has_local_context<T,typename std::enable_if<(sizeof(std::declval<T>().localContext()) > 0),int>::type>
59 :
public std::true_type
64 namespace VTKWriteTypeTraits {
72 template <
class Gr
idView>
74 template <
class Gr
idView>
85 template<
class Gr
idView >
100 typedef typename GridView::template Codim< 0 >::Entity Cell;
101 typedef typename GridView::template Codim< n >::Entity Vertex;
109 typedef typename GridView::template Codim< 0 >
110 ::template Partition< VTK_Partition >::Iterator
112 typedef typename GridView::template Codim< n >
113 ::template Partition< VTK_Partition >::Iterator
116 typedef typename GridCellIterator::Reference EntityReference;
118 typedef typename GridView::template Codim< 0 >
119 ::Entity::Geometry::LocalCoordinate Coordinate;
121 typedef MultipleCodimMultipleGeomTypeMapper< GridView, MCMGVertexLayout > VertexMapper;
126 switch( VTK_Partition )
131 default: DUNE_THROW(NotImplemented,
"Add check for this partition type");
158 virtual void bind(
const Entity& e) = 0;
161 virtual void unbind() = 0;
167 virtual void write(
const Coordinate& pos,
Writer& w, std::size_t count)
const = 0;
181 template<
typename F_>
183 : _f(std::forward<F_>(f))
186 virtual void bind(
const Entity& e)
196 virtual void write(
const Coordinate& pos,
Writer& w, std::size_t count)
const
200 do_write(w,r,count,is_indexable<decltype(r)>());
206 void do_write(
Writer& w,
const R& r, std::size_t count, std::true_type)
const
208 for (std::size_t i = 0; i < count; ++i)
213 void do_write(
Writer& w,
const R& r, std::size_t count, std::false_type)
const
231 virtual void bind(
const Entity& e)
241 virtual void write(
const Coordinate& pos,
Writer& w, std::size_t count)
const
243 for (std::size_t i = 0; i < count; ++i)
244 w.
write(_f->evaluate(i,*_entity,pos));
249 std::shared_ptr< const VTKFunction > _f;
250 const Entity* _entity;
267 typename std::decay<decltype(localFunction(std::forward<F>(f)))>::type
268 > >(localFunction(std::forward<F>(f))))
276 vtkFunctionPtr->
name(),
277 vtkFunctionPtr->ncomps() > 1 ? VTK::FieldInfo::Type::vector : VTK::FieldInfo::Type::scalar,
278 vtkFunctionPtr->ncomps()
295 void bind(
const Entity& e)
const
312 std::shared_ptr<FunctionWrapperBase>
_f;
334 return ReferenceElements<DT,n>::general((*this)->type()).
position(0,0);
340 return gridView_.template begin< 0, VTK_Partition >();
345 return gridView_.template end< 0, VTK_Partition >();
364 public ForwardIteratorFacade<VertexIterator, const Entity, EntityReference, int>
366 GridCellIterator git;
367 GridCellIterator gend;
373 std::vector<bool> visited;
386 const int numCorners = git->subEntities(n);
387 if( cornerIndexDune == numCorners )
389 offset += numCorners;
393 while( (git != gend) && skipEntity( git->partitionType() ) )
399 const GridCellIterator & end,
402 git(x), gend(end), datamode(dm), cornerIndexDune(0),
403 vertexmapper(vm), visited(vm.size(), false),
407 visited[vertexmapper.
subIndex(*git,cornerIndexDune,n)] =
true;
414 while(visited[vertexmapper.
subIndex(*git,cornerIndexDune,n)])
417 if (git == gend)
return;
419 visited[vertexmapper.
subIndex(*git,cornerIndexDune,n)] =
true;
428 return git == cit.git
429 && cornerIndexDune == cit.cornerIndexDune
430 && datamode == cit.datamode;
439 return cornerIndexDune;
444 return ReferenceElements<DT,n>::general(git->type())
451 return VertexIterator(
gridView_.template begin< 0, VTK_Partition >(),
452 gridView_.template end< 0, VTK_Partition >(),
453 datamode, *vertexmapper );
458 return VertexIterator(
gridView_.template end< 0, VTK_Partition >(),
459 gridView_.template end< 0, VTK_Partition >(),
460 datamode, *vertexmapper );
479 public ForwardIteratorFacade<CornerIterator, const Entity, EntityReference, int>
481 GridCellIterator git;
482 GridCellIterator gend;
491 const std::vector<int> & number;
500 const GridCellIterator & end,
503 const std::vector<int> & num) :
504 git(x), gend(end), datamode(dm), cornerIndexVTK(0),
506 number(num), offset(0) {}
512 const int numCorners = git->subEntities(n);
513 if( cornerIndexVTK == numCorners )
515 offset += numCorners;
519 while( (git != gend) && skipEntity( git->partitionType() ) )
525 return git == cit.git
526 && cornerIndexVTK == cit.cornerIndexVTK
527 && datamode == cit.datamode;
549 DUNE_THROW(IOError,
"VTKWriter: unsupported DataMode" << datamode);
556 return CornerIterator(
gridView_.template begin< 0, VTK_Partition >(),
557 gridView_.template end< 0, VTK_Partition >(),
558 datamode, *vertexmapper, number );
563 return CornerIterator(
gridView_.template end< 0, VTK_Partition >(),
564 gridView_.template end< 0, VTK_Partition >(),
565 datamode, *vertexmapper, number );
588 celldata.push_back(VTKLocalFunction(p));
594 celldata.push_back(VTKLocalFunction(std::forward<F>(f),vtkFieldInfo));
612 template<
class Container>
613 void addCellData (
const Container& v,
const std::string &name,
int ncomps = 1)
616 for (
int c=0; c<ncomps; ++c) {
617 std::stringstream compName;
620 compName <<
"[" << c <<
"]";
622 addCellData(std::shared_ptr< const VTKFunction >(p));
638 vertexdata.push_back(VTKLocalFunction(std::forward<F>(f),vtkFieldInfo));
657 template<
class Container>
658 void addVertexData (
const Container& v,
const std::string &name,
int ncomps=1)
661 for (
int c=0; c<ncomps; ++c) {
662 std::stringstream compName;
665 compName <<
"[" << c <<
"]";
695 std::string
write (
const std::string &name,
727 std::string
pwrite (
const std::string & name,
const std::string & path,
const std::string & extendpath,
747 const std::string& path,
748 int commRank,
int commSize)
const
750 std::ostringstream s;
751 if(path.size() > 0) {
753 if(path[path.size()-1] !=
'/')
756 s <<
's' << std::setw(4) << std::setfill(
'0') << commSize <<
'-';
757 s <<
'p' << std::setw(4) << std::setfill(
'0') << commRank <<
'-';
778 const std::string& path,
781 std::ostringstream s;
782 if(path.size() > 0) {
784 if(path[path.size()-1] !=
'/')
787 s <<
's' << std::setw(4) << std::setfill(
'0') << commSize <<
'-';
810 const std::string& path)
const
812 static const std::string extension =
815 return concatPaths(path, name+extension);
833 std::string
write (
const std::string &name,
841 return pwrite(name,
"",
"", type, commRank, commSize);
851 file.exceptions(std::ios_base::badbit | std::ios_base::failbit |
852 std::ios_base::eofbit);
855 file.open( pieceName.c_str(), std::ios::binary );
858 std::cerr <<
"Filename: " << pieceName <<
" could not be opened" << std::endl;
861 if (! file.is_open())
862 DUNE_THROW(IOError,
"Could not write to piece file " << pieceName);
863 writeDataFile( file );
893 std::string
pwrite(
const std::string& name,
const std::string& path,
894 const std::string& extendpath,
903 file.exceptions(std::ios_base::badbit | std::ios_base::failbit |
904 std::ios_base::eofbit);
905 std::string piecepath = concatPaths(path, extendpath);
906 std::string relpiecepath = relativePath(path, piecepath);
913 file.open(fullname.c_str(),std::ios::binary);
916 std::cerr <<
"Filename: " << fullname <<
" could not be opened" << std::endl;
919 if (! file.is_open())
920 DUNE_THROW(IOError,
"Could not write to piecefile file " << fullname);
929 file.open(fullname.c_str());
930 if (! file.is_open())
931 DUNE_THROW(IOError,
"Could not write to parallel file " << fullname);
932 writeParallelHeader(file,name,relpiecepath, commSize );
958 void writeParallelHeader(std::ostream& s,
const std::string& piecename,
959 const std::string& piecepath,
const int commSize)
970 std::string scalars, vectors;
972 writer.beginPointData(scalars, vectors);
979 unsigned writecomps = it->fieldInfo().size();
980 if(writecomps == 2) writecomps = 3;
981 writer.addArray<
float>(it->name(), writecomps);
983 writer.endPointData();
987 std::string scalars, vectors;
989 writer.beginCellData(scalars, vectors);
996 unsigned writecomps = it->fieldInfo().size();
997 if(writecomps == 2) writecomps = 3;
998 writer.addArray<
float>(it->name(), writecomps);
1000 writer.endCellData();
1003 writer.beginPoints();
1004 writer.addArray<
float>(
"Coordinates", 3);
1008 for(
int i = 0; i < commSize; ++i )
1013 writer.addPiece(fullname);
1020 void writeDataFile (std::ostream& s)
1025 VTK::VTUWriter writer(s,
outputtype, fileType);
1028 vertexmapper =
new VertexMapper(
gridView_ );
1031 number.resize(vertexmapper->
size());
1032 for (std::vector<int>::size_type i=0; i<number.size(); i++) number[i] = -1;
1037 writeAllData(writer);
1041 if(writer.beginAppended())
1042 writeAllData(writer);
1043 writer.endAppended();
1045 delete vertexmapper; number.clear();
1048 void writeAllData(VTK::VTUWriter& writer) {
1073 DUNE_THROW(IOError,
"VTKWriter: unsupported OutputType" <<
outputtype);
1081 return "UnstructuredGrid";
1095 const int subEntities = it->subEntities(n);
1096 for (
int i=0; i<subEntities; ++i)
1101 int alpha = vertexmapper->
subIndex(*it,i,n);
1102 if (number[alpha]<0)
1113 template<
typename T>
1116 std::string scalars =
"";
1117 for (
auto it = data.begin(),
1123 scalars = it->name();
1127 std::string vectors =
"";
1128 for (
auto it = data.begin(),
1134 vectors = it->name();
1137 return std::make_tuple(scalars,vectors);
1140 template<
typename Data,
typename Iterator>
1143 for (
auto it = data.begin(),
1148 const auto& f = *it;
1150 std::size_t writecomps = fieldInfo.
size();
1151 switch (fieldInfo.
type())
1159 DUNE_THROW(IOError,
"Cannot write VTK vectors with more than 3 components (components was " << writecomps <<
")");
1163 DUNE_THROW(NotImplemented,
"VTK output for tensors not implemented yet");
1165 std::shared_ptr<VTK::DataArrayWriter<float> > p
1167 if(!p->writeIsNoop())
1168 for (Iterator eit = begin; eit!=end; ++eit)
1170 const Entity & e = *eit;
1172 f.write(eit.position(),*p);
1176 for (std::size_t j=fieldInfo.
size(); j < writecomps; ++j)
1188 std::string scalars, vectors;
1202 std::string scalars, vectors;
1215 std::shared_ptr<VTK::DataArrayWriter<float> > p
1217 if(!p->writeIsNoop()) {
1219 for (VertexIterator vit=
vertexBegin(); vit!=vEnd; ++vit)
1222 for (
int j=0; j<
std::min(dimw,3); j++)
1223 p->write((*vit).geometry().corner(vit.localindex())[j]);
1224 for (
int j=
std::min(dimw,3); j<3; j++)
1241 std::shared_ptr<VTK::DataArrayWriter<int> > p1
1243 if(!p1->writeIsNoop())
1250 std::shared_ptr<VTK::DataArrayWriter<int> > p2
1252 if(!p2->writeIsNoop()) {
1256 offset += it->subEntities(n);
1265 std::shared_ptr<VTK::DataArrayWriter<unsigned char> > p3
1267 if(!p3->writeIsNoop())
1294 std::vector<int> number;
Take a vector and interpret it as cell data for the VTKWriter.
Definition: function.hh:88
virtual void write(T data)=0
write one data element
int min(const DofVectorPointer< int > &dofVector)
Definition: dofvector.hh:346
virtual void bind(const Entity &e)
Bind data set to grid entity - must be called before evaluating (i.e. calling write())
Definition: vtkwriter.hh:231
VTKFunctionWrapper(const std::shared_ptr< const VTKFunction > &f)
Definition: vtkwriter.hh:226
void endCells()
start section for the grid cells/PolyData lines
Definition: vtuwriter.hh:283
VertexIterator vertexBegin() const
Definition: vtkwriter.hh:449
void endCellData()
finish CellData section
Definition: vtuwriter.hh:218
std::list< VTKLocalFunction > celldata
Definition: vtkwriter.hh:1280
std::tuple< std::string, std::string > getDataNames(const T &data) const
Definition: vtkwriter.hh:1114
void basicIncrement()
Definition: vtkwriter.hh:381
Include standard header files.
Definition: agrid.hh:59
std::string pwrite(const std::string &name, const std::string &path, const std::string &extendpath, VTK::OutputType ot, const int commRank, const int commSize)
write output; interface might change later
Definition: vtkwriter.hh:893
Output to the file is inline base64 binary.
Definition: common.hh:44
void addVertexData(F &&f, VTK::FieldInfo vtkFieldInfo)
Definition: vtkwriter.hh:636
Iterate over the elements' corners.
Definition: vtkwriter.hh:478
virtual void bind(const Entity &e)=0
Bind data set to grid entity - must be called before evaluating (i.e. calling write())
VTKLocalFunction(F &&f, VTK::FieldInfo fieldInfo, typename std::enable_if< detail::_has_local_context< F >::value, int >::type dummy=0)
Construct a VTKLocalFunction for a dune-functions style LocalFunction.
Definition: vtkwriter.hh:256
void beginCellData(const std::string &scalars="", const std::string &vectors="")
start CellData section
Definition: vtuwriter.hh:203
tensor field (always 3x3)
OutputType
How the bulk data should be stored in the file.
Definition: common.hh:40
void endPoints()
finish section for the point coordinates
Definition: vtuwriter.hh:247
std::string write(const std::string &name, VTK::OutputType type, const int commRank, const int commSize)
write output (interface might change later)
Definition: vtkwriter.hh:833
virtual void countEntities(int &nvertices, int &ncells, int &ncorners)
count the vertices, cells and corners
Definition: vtkwriter.hh:1085
virtual void unbind()
Unbind data set from current grid entity - mostly here for performance and symmetry reasons.
Definition: vtkwriter.hh:191
bool equals(const VertexIterator &cit) const
Definition: vtkwriter.hh:426
Output is to the file is appended raw binary.
Definition: common.hh:46
void addVertexData(const Container &v, const std::string &name, int ncomps=1)
Add a grid function (represented by container) that lives on the vertices of the grid to the visualiz...
Definition: vtkwriter.hh:658
for .vtp files (PolyData)
Definition: common.hh:292
bool equals(const CornerIterator &cit) const
Definition: vtkwriter.hh:523
Output conforming data.
Definition: common.hh:70
std::string name() const
Returns the name of the data set.
Definition: vtkwriter.hh:283
void unbind() const
Unbind the data set from the currently bound entity.
Definition: vtkwriter.hh:301
Writer for the ouput of grid functions in the vtk format.
Definition: vtksequencewriter.hh:26
VertexIterator vertexEnd() const
Definition: vtkwriter.hh:456
vector-valued field (always 3D, will be padded if necessary)
virtual void writeGridPoints(VTK::VTUWriter &writer)
write the positions of vertices
Definition: vtkwriter.hh:1211
const CollectiveCommunication & comm() const
obtain collective communication object
Definition: common/gridview.hh:247
const FieldVector< DT, n > & position() const
position of vertex inside the entity
Definition: vtkwriter.hh:442
VTKWriter(const GridView &gridView, VTK::DataMode dm=VTK::conforming)
Construct a VTKWriter working on a specific GridView.
Definition: vtkwriter.hh:576
Index subIndex(const typename GV::template Codim< 0 >::Entity &e, int i, unsigned int codim) const
Map subentity of codim 0 entity to array index.
Definition: mcmgmapper.hh:160
Mapper for multiple codim and multiple geometry types.
void addVertexData(const std::shared_ptr< const VTKFunction > &p)
Add a grid function that lives on the vertices of the grid to the visualization.
Definition: vtkwriter.hh:630
void addCellData(const Container &v, const std::string &name, int ncomps=1)
Add a grid function (represented by container) that lives on the cells of the grid to the visualizati...
Definition: vtkwriter.hh:613
void endPointData()
finish PointData section
Definition: vtuwriter.hh:180
const VTK::FieldInfo & fieldInfo() const
Returns the VTK::FieldInfo for the data set.
Definition: vtkwriter.hh:289
PartitionType
Attributes used in the generic overlap model.
Definition: gridenums.hh:28
GridView gridView_
Definition: vtkwriter.hh:1284
std::string name() const
The name of the data field.
Definition: common.hh:330
Descriptor struct for VTK fields.
Definition: common.hh:306
CornerIterator cornerBegin() const
Definition: vtkwriter.hh:554
EntityReference dereference() const
Definition: vtkwriter.hh:529
Output to the file is in ascii.
Definition: common.hh:42
virtual void bind(const Entity &e)
Bind data set to grid entity - must be called before evaluating (i.e. calling write())
Definition: vtkwriter.hh:186
Traits ::IndexSet IndexSet
type of the index set
Definition: common/gridview.hh:81
void beginPoints()
start section for the point coordinates
Definition: vtuwriter.hh:236
PartitionIteratorType
Parameter to be used for the parallel level- and leaf iterators.
Definition: gridenums.hh:134
virtual void write(const Coordinate &pos, Writer &w, std::size_t count) const
Evaluate data set at local position pos inside the current entity and write result to w.
Definition: vtkwriter.hh:196
CornerIterator(const GridCellIterator &x, const GridCellIterator &end, const VTK::DataMode &dm, const VertexMapper &vm, const std::vector< int > &num)
Definition: vtkwriter.hh:499
Output non-conforming data.
Definition: common.hh:78
GeometryType geometryType(const Dune::GeometryType &t)
mapping from GeometryType to VTKGeometryType
Definition: common.hh:195
void clear()
clear list of registered functions
Definition: vtkwriter.hh:672
std::string write(const std::string &name, VTK::OutputType type=VTK::ascii)
write output (interface might change later)
Definition: vtkwriter.hh:695
virtual ~FunctionWrapperBase()
Definition: vtkwriter.hh:169
The dimension of the grid.
Definition: common/gridview.hh:128
Implementation class for a multiple codim and multiple geometry type mapper.
Definition: mcmgmapper.hh:101
void beginPointData(const std::string &scalars="", const std::string &vectors="")
start PointData section
Definition: vtuwriter.hh:165
typename std::decay< F >::type Function
Definition: vtkwriter.hh:179
virtual void writeCellData(VTK::VTUWriter &writer)
write cell data
Definition: vtkwriter.hh:1183
void beginCells()
start section for the grid cells/PolyData lines
Definition: vtuwriter.hh:272
VertexIterator(const GridCellIterator &x, const GridCellIterator &end, const VTK::DataMode &dm, const VertexMapper &vm)
Definition: vtkwriter.hh:398
VTK::FieldInfo _fieldInfo
Definition: vtkwriter.hh:313
int id() const
Process-local consecutive zero-starting vertex id.
Definition: vtkwriter.hh:538
Output is to the file is appended base64 binary.
Definition: common.hh:48
Base class for polymorphic container of underlying data set.
Definition: vtkwriter.hh:154
CellIterator cellBegin() const
Definition: vtkwriter.hh:338
void addCellData(const std::shared_ptr< const VTKFunction > &p)
Add a grid function that lives on the cells of the grid to the visualization.
Definition: vtkwriter.hh:586
std::list< VTKLocalFunction > vertexdata
Definition: vtkwriter.hh:1281
std::string getParallelHeaderName(const std::string &name, const std::string &path, int commSize) const
return name of a parallel header file
Definition: vtkwriter.hh:777
Dump a .vtu/.vtp files contents to a stream.
Definition: vtuwriter.hh:96
Dump a .vtu/.vtp files contents to a stream.
Definition: pvtuwriter.hh:60
all entities
Definition: gridenums.hh:139
void bind(const Entity &e) const
Bind the data set to grid entity e.
Definition: vtkwriter.hh:295
CellIterator(const GridCellIterator &x)
construct a CellIterator from the gridview's Iterator.
Definition: vtkwriter.hh:329
The dimension of the world the grid lives in.
Definition: common/gridview.hh:132
int renumber(const Dune::GeometryType &t, int i)
renumber VTK <-> Dune
Definition: common.hh:224
DataMode
Whether to produce conforming or non-conforming output.
Definition: common.hh:64
VTKLocalFunction(F &&f, VTK::FieldInfo fieldInfo, typename std::enable_if< not detail::_has_local_context< F >::value, int >::type dummy=0)
Construct a VTKLocalFunction for a dune-functions style Function.
Definition: vtkwriter.hh:264
Traits ::Grid Grid
type of the grid
Definition: common/gridview.hh:78
A base class for grid functions with any return type and dimension.
Definition: function.hh:38
Definition: vtkwriter.hh:53
VTKLocalFunction(const std::shared_ptr< const VTKFunction > &vtkFunctionPtr)
Construct a VTKLocalFunction for a legacy VTKFunction.
Definition: vtkwriter.hh:273
virtual ~VTKWriter()
destructor
Definition: vtkwriter.hh:679
std::shared_ptr< FunctionWrapperBase > _f
Definition: vtkwriter.hh:312
Common stuff for the VTKWriter.
virtual void write(const Coordinate &pos, Writer &w, std::size_t count) const =0
Evaluate data set at local position pos inside the current entity and write result to w.
interior and border entities
Definition: gridenums.hh:136
DataArrayWriter< T > * makeArrayWriter(const std::string &name, unsigned ncomps, unsigned nitems)
acquire a DataArrayWriter
Definition: vtuwriter.hh:379
all interior entities
Definition: gridenums.hh:29
Iterate over the grid's vertices.
Definition: vtkwriter.hh:363
const FieldVector< DT, n > position() const
Definition: vtkwriter.hh:332
virtual void unbind()=0
Unbind data set from current grid entity - mostly here for performance and symmetry reasons.
std::string getParallelPieceName(const std::string &name, const std::string &path, int commRank, int commSize) const
return name of a parallel piece file
Definition: vtkwriter.hh:746
void increment()
Definition: vtkwriter.hh:507
FunctionWrapper(F_ &&f)
Definition: vtkwriter.hh:182
std::string getFormatString() const
Definition: vtkwriter.hh:1063
void increment()
Definition: vtkwriter.hh:409
std::string getSerialPieceName(const std::string &name, const std::string &path) const
return name of a serial piece file
Definition: vtkwriter.hh:809
Type erasure implementation for legacy VTKFunctions.
Definition: vtkwriter.hh:223
Data array writers for the VTKWriter.
Dune::VTKFunction< GridView > VTKFunction
Definition: vtkwriter.hh:138
std::list< VTKLocalFunction >::const_iterator FunctionIterator
Definition: vtkwriter.hh:317
Type erasure wrapper for VTK data sets.
Definition: vtkwriter.hh:146
int size() const
Return total number of entities in the entity set managed by the mapper.
Definition: mcmgmapper.hh:175
int nvertices
Definition: vtkwriter.hh:1288
EntityReference dereference() const
Definition: vtkwriter.hh:432
Type type() const
The type of the data field.
Definition: common.hh:336
Grid::ctype ctype
type used for coordinates in grid
Definition: common/gridview.hh:125
Iterator over the grids elements.
Definition: vtkwriter.hh:325
void write(const Coordinate &pos, Writer &w) const
Write the value of the data set at local coordinate pos to the writer w.
Definition: vtkwriter.hh:307
int localindex() const
index of vertex within the entity, in Dune-numbering
Definition: vtkwriter.hh:437
for .vtu files (UnstructuredGrid)
Definition: common.hh:294
std::string getTypeString() const
Definition: vtkwriter.hh:1076
Take a vector and interpret it as point data for the VTKWriter.
Definition: function.hh:186
virtual void writeVertexData(VTK::VTUWriter &writer)
write vertex data
Definition: vtkwriter.hh:1197
Definition: vtkwriter.hh:66
VTK::DataArrayWriter< float > Writer
Definition: vtkwriter.hh:151
std::size_t size() const
The number of components in the data field.
Definition: common.hh:342
CellIterator cellEnd() const
Definition: vtkwriter.hh:343
void addCellData(F &&f, VTK::FieldInfo vtkFieldInfo)
Definition: vtkwriter.hh:592
Base class to write pvd-files which contains a list of all collected vtk-files.
Definition: vtksequencewriterbase.hh:31
FileType
which type of VTK file to write
Definition: common.hh:290
virtual void unbind()
Unbind data set from current grid entity - mostly here for performance and symmetry reasons.
Definition: vtkwriter.hh:236
Type erasure implementation for functions conforming to the dune-functions LocalFunction interface.
Definition: vtkwriter.hh:176
std::string pwrite(const std::string &name, const std::string &path, const std::string &extendpath, VTK::OutputType type=VTK::ascii)
write output (interface might change later)
Definition: vtkwriter.hh:727
Writer for the ouput of grid functions in the vtk format.
Definition: vtkwriter.hh:86
Grid view abstract base class.
Definition: common/gridview.hh:59
void writeData(VTK::VTUWriter &writer, const Data &data, const Iterator begin, const Iterator end, int nentries)
Definition: vtkwriter.hh:1141
int ncorners
Definition: vtkwriter.hh:1289
CornerIterator cornerEnd() const
Definition: vtkwriter.hh:561
virtual void write(const Coordinate &pos, Writer &w, std::size_t count) const
Evaluate data set at local position pos inside the current entity and write result to w.
Definition: vtkwriter.hh:241
Functions for VTK output.
int ncells
Definition: vtkwriter.hh:1287
VTK::OutputType outputtype
Definition: vtkwriter.hh:1297
virtual void writeGridCells(VTK::VTUWriter &writer)
write the connectivity array
Definition: vtkwriter.hh:1235