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
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;
126 switch( VTK_Partition )
131 default: DUNE_THROW(NotImplemented,
"Add check for this partition type");
158 virtual void bind(
const Entity& e) = 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())
445 .position(cornerIndexDune,n);
452 gridView_.template end< 0, VTK_Partition >(),
453 datamode, *vertexmapper );
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);
557 gridView_.template end< 0, VTK_Partition >(),
558 datamode, *vertexmapper, number );
564 gridView_.template end< 0, VTK_Partition >(),
565 datamode, *vertexmapper, number );
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));
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()) {
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;
Mapper for multiple codim and multiple geometry types.
Common stuff for the VTKWriter.
Data array writers for the VTKWriter.
Functions for VTK output.
PartitionIteratorType
Parameter to be used for the parallel level- and leaf iterators.
Definition gridenums.hh:134
PartitionType
Attributes used in the generic overlap model.
Definition gridenums.hh:28
@ All_Partition
all entities
Definition gridenums.hh:139
@ InteriorBorder_Partition
interior and border entities
Definition gridenums.hh:136
@ InteriorEntity
all interior entities
Definition gridenums.hh:29
Traits::Grid Grid
type of the grid
Definition common/gridview.hh:78
const CollectiveCommunication & comm() const
obtain collective communication object
Definition common/gridview.hh:247
Traits::IndexSet IndexSet
type of the index set
Definition common/gridview.hh:81
Grid::ctype ctype
type used for coordinates in grid
Definition common/gridview.hh:125
@ dimension
The dimension of the grid.
Definition common/gridview.hh:128
@ dimensionworld
The dimension of the world the grid lives in.
Definition common/gridview.hh:132
Include standard header files.
Definition agrid.hh:60
OutputType
How the bulk data should be stored in the file.
Definition common.hh:40
@ ascii
Output to the file is in ascii.
Definition common.hh:42
@ appendedraw
Output is to the file is appended raw binary.
Definition common.hh:46
@ appendedbase64
Output is to the file is appended base64 binary.
Definition common.hh:48
@ base64
Output to the file is inline base64 binary.
Definition common.hh:44
int renumber(const Dune::GeometryType &t, int i)
renumber VTK <-> Dune
Definition common.hh:224
FileType
which type of VTK file to write
Definition common.hh:290
@ polyData
for .vtp files (PolyData)
Definition common.hh:292
@ unstructuredGrid
for .vtu files (UnstructuredGrid)
Definition common.hh:294
DataMode
Whether to produce conforming or non-conforming output.
Definition common.hh:64
@ conforming
Output conforming data.
Definition common.hh:70
@ nonconforming
Output non-conforming data.
Definition common.hh:78
GeometryType geometryType(const Dune::GeometryType &t)
mapping from GeometryType to VTKGeometryType
Definition common.hh:195
Grid view abstract base class.
Definition common/gridview.hh:60
Implementation class for a multiple codim and multiple geometry type mapper.
Definition mcmgmapper.hh:103
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
int size() const
Return total number of entities in the entity set managed by the mapper.
Definition mcmgmapper.hh:175
Descriptor struct for VTK fields.
Definition common.hh:307
std::size_t size() const
The number of components in the data field.
Definition common.hh:342
@ tensor
tensor field (always 3x3)
@ vector
vector-valued field (always 3D, will be padded if necessary)
Type type() const
The type of the data field.
Definition common.hh:336
std::string name() const
The name of the data field.
Definition common.hh:330
base class for data array writers
Definition dataarraywriter.hh:54
virtual void write(T data)=0
write one data element
A base class for grid functions with any return type and dimension.
Definition function.hh:39
Take a vector and interpret it as cell data for the VTKWriter.
Definition function.hh:90
Take a vector and interpret it as point data for the VTKWriter.
Definition function.hh:188
Dump a .vtu/.vtp files contents to a stream.
Definition pvtuwriter.hh:60
Writer for the ouput of grid functions in the vtk format.
Definition vtksequencewriter.hh:28
Base class to write pvd-files which contains a list of all collected vtk-files.
Definition vtksequencewriterbase.hh:32
Definition vtkwriter.hh:55
Definition vtkwriter.hh:67
Writer for the ouput of grid functions in the vtk format.
Definition vtkwriter.hh:86
CornerIterator cornerEnd() const
Definition vtkwriter.hh:561
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
VertexIterator vertexBegin() const
Definition vtkwriter.hh:449
std::string getTypeString() const
Definition vtkwriter.hh:1076
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
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 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
Dune::VTKFunction< GridView > VTKFunction
Definition vtkwriter.hh:138
CellIterator cellEnd() const
Definition vtkwriter.hh:343
std::list< VTKLocalFunction > vertexdata
Definition vtkwriter.hh:1281
CornerIterator cornerBegin() const
Definition vtkwriter.hh:554
std::string getSerialPieceName(const std::string &name, const std::string &path) const
return name of a serial piece file
Definition vtkwriter.hh:809
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::string getFormatString() const
Definition vtkwriter.hh:1063
void addVertexData(F &&f, VTK::FieldInfo vtkFieldInfo)
Definition vtkwriter.hh:636
virtual void writeCellData(VTK::VTUWriter &writer)
write cell data
Definition vtkwriter.hh:1183
VTKWriter(const GridView &gridView, VTK::DataMode dm=VTK::conforming)
Construct a VTKWriter working on a specific GridView.
Definition vtkwriter.hh:576
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
CellIterator cellBegin() const
Definition vtkwriter.hh:338
virtual void countEntities(int &nvertices, int &ncells, int &ncorners)
count the vertices, cells and corners
Definition vtkwriter.hh:1085
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
VTK::OutputType outputtype
Definition vtkwriter.hh:1297
virtual void writeGridCells(VTK::VTUWriter &writer)
write the connectivity array
Definition vtkwriter.hh:1235
GridView gridView_
Definition vtkwriter.hh:1284
std::list< VTKLocalFunction > celldata
Definition vtkwriter.hh:1280
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
std::list< VTKLocalFunction >::const_iterator FunctionIterator
Definition vtkwriter.hh:317
std::tuple< std::string, std::string > getDataNames(const T &data) const
Definition vtkwriter.hh:1114
virtual void writeGridPoints(VTK::VTUWriter &writer)
write the positions of vertices
Definition vtkwriter.hh:1211
virtual void writeVertexData(VTK::VTUWriter &writer)
write vertex data
Definition vtkwriter.hh:1197
int nvertices
Definition vtkwriter.hh:1288
void addCellData(F &&f, VTK::FieldInfo vtkFieldInfo)
Definition vtkwriter.hh:592
virtual ~VTKWriter()
destructor
Definition vtkwriter.hh:679
void writeData(VTK::VTUWriter &writer, const Data &data, const Iterator begin, const Iterator end, int nentries)
Definition vtkwriter.hh:1141
int ncells
Definition vtkwriter.hh:1287
VertexIterator vertexEnd() const
Definition vtkwriter.hh:456
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
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
int ncorners
Definition vtkwriter.hh:1289
Type erasure wrapper for VTK data sets.
Definition vtkwriter.hh:147
void unbind() const
Unbind the data set from the currently bound entity.
Definition vtkwriter.hh:301
std::string name() const
Returns the name of the data set.
Definition vtkwriter.hh:283
VTK::DataArrayWriter< float > Writer
Definition vtkwriter.hh:151
VTK::FieldInfo _fieldInfo
Definition vtkwriter.hh:313
const VTK::FieldInfo & fieldInfo() const
Returns the VTK::FieldInfo for the data set.
Definition vtkwriter.hh:289
void bind(const Entity &e) const
Bind the data set to grid entity e.
Definition vtkwriter.hh:295
VTKLocalFunction(const std::shared_ptr< const VTKFunction > &vtkFunctionPtr)
Construct a VTKLocalFunction for a legacy VTKFunction.
Definition vtkwriter.hh:273
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
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
std::shared_ptr< FunctionWrapperBase > _f
Definition vtkwriter.hh:312
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
Base class for polymorphic container of underlying data set.
Definition vtkwriter.hh:155
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.
virtual ~FunctionWrapperBase()
Definition vtkwriter.hh:169
virtual void unbind()=0
Unbind data set from current grid entity - mostly here for performance and symmetry reasons.
virtual void bind(const Entity &e)=0
Bind data set to grid entity - must be called before evaluating (i.e. calling write())
Type erasure implementation for functions conforming to the dune-functions LocalFunction interface.
Definition vtkwriter.hh:178
typename std::decay< F >::type Function
Definition vtkwriter.hh:179
FunctionWrapper(F_ &&f)
Definition vtkwriter.hh:182
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
virtual void unbind()
Unbind data set from current grid entity - mostly here for performance and symmetry reasons.
Definition vtkwriter.hh:191
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
Type erasure implementation for legacy VTKFunctions.
Definition vtkwriter.hh:225
virtual void unbind()
Unbind data set from current grid entity - mostly here for performance and symmetry reasons.
Definition vtkwriter.hh:236
VTKFunctionWrapper(const std::shared_ptr< const VTKFunction > &f)
Definition vtkwriter.hh:226
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
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
Iterator over the grids elements.
Definition vtkwriter.hh:326
CellIterator(const GridCellIterator &x)
construct a CellIterator from the gridview's Iterator.
Definition vtkwriter.hh:329
const FieldVector< DT, n > position() const
Definition vtkwriter.hh:332
Iterate over the grid's vertices.
Definition vtkwriter.hh:365
VertexIterator(const GridCellIterator &x, const GridCellIterator &end, const VTK::DataMode &dm, const VertexMapper &vm)
Definition vtkwriter.hh:398
void basicIncrement()
Definition vtkwriter.hh:381
void increment()
Definition vtkwriter.hh:409
EntityReference dereference() const
Definition vtkwriter.hh:432
const FieldVector< DT, n > & position() const
position of vertex inside the entity
Definition vtkwriter.hh:442
bool equals(const VertexIterator &cit) const
Definition vtkwriter.hh:426
int localindex() const
index of vertex within the entity, in Dune-numbering
Definition vtkwriter.hh:437
Iterate over the elements' corners.
Definition vtkwriter.hh:480
void increment()
Definition vtkwriter.hh:507
CornerIterator(const GridCellIterator &x, const GridCellIterator &end, const VTK::DataMode &dm, const VertexMapper &vm, const std::vector< int > &num)
Definition vtkwriter.hh:499
int id() const
Process-local consecutive zero-starting vertex id.
Definition vtkwriter.hh:538
EntityReference dereference() const
Definition vtkwriter.hh:529
bool equals(const CornerIterator &cit) const
Definition vtkwriter.hh:523
Dump a .vtu/.vtp files contents to a stream.
Definition vtuwriter.hh:96
void endCellData()
finish CellData section
Definition vtuwriter.hh:218
void beginCells()
start section for the grid cells/PolyData lines
Definition vtuwriter.hh:272
DataArrayWriter< T > * makeArrayWriter(const std::string &name, unsigned ncomps, unsigned nitems)
acquire a DataArrayWriter
Definition vtuwriter.hh:379
void endPointData()
finish PointData section
Definition vtuwriter.hh:180
void beginCellData(const std::string &scalars="", const std::string &vectors="")
start CellData section
Definition vtuwriter.hh:203
void beginPointData(const std::string &scalars="", const std::string &vectors="")
start PointData section
Definition vtuwriter.hh:165
void endPoints()
finish section for the point coordinates
Definition vtuwriter.hh:247
void endCells()
start section for the grid cells/PolyData lines
Definition vtuwriter.hh:283
void beginPoints()
start section for the point coordinates
Definition vtuwriter.hh:236