Dune Core Modules (unstable)

Dune::VTK::PVTUWriter Class Reference

Dump a .vtu/.vtp files contents to a stream. More...

#include <dune/grid/io/file/vtk/pvtuwriter.hh>

Public Member Functions

 PVTUWriter (std::ostream &stream_, FileType fileType_)
 create a PVTUWriter object More...
 
 ~PVTUWriter ()
 write footer
 
void beginPointData (const std::string &scalars="", const std::string &vectors="")
 start PointData section More...
 
void endPointData ()
 finish PointData section
 
void beginCellData (const std::string &scalars="", const std::string &vectors="")
 start CellData section More...
 
void endCellData ()
 finish CellData section
 
void beginPoints ()
 start section for the point coordinates More...
 
void endPoints ()
 finish section for the point coordinates
 
void beginMain (unsigned ghostLevel=0)
 start the main PPolyData/PUnstructuredGrid section More...
 
void endMain ()
 finish the main PolyData/UnstructuredGrid section
 
void addArray (const std::string &name, unsigned ncomps, Precision prec)
 Add an array to the output file. More...
 
void addPiece (const std::string &filename)
 Add a serial piece to the output file.
 

Detailed Description

Dump a .vtu/.vtp files contents to a stream.

This will help generating a .vtu/.vtp file. Typical use is like this:

{
// create writer, writes begin tag
PVTUWriter writer(std::cout, polyData);
// start the main section
writer.beginMain();
// dump cell data (optional)
writer.beginCellData();
for(each cell data field)
writer.addArray(field.name, field.ncomps, precision);
writer.endCellData();
// dump point data (optional)
writer.beginPointData();
for(each point data field)
writer.addArray(field.name, field.ncomps, precision);
writer.endPointData();
// dump point coordinates
writer.beginPoints();
writer.addArray("Coordinates", 3, precision);
writer.endPoints();
for(each serial piece)
writer.addPiece(piece.filename);
// finish main section
writer.endMain();
// end scope so the destructor gets called and the closing tag is written
}
Dump a .vtu/.vtp files contents to a stream.
Definition: pvtuwriter.hh:62

Constructor & Destructor Documentation

◆ PVTUWriter()

Dune::VTK::PVTUWriter::PVTUWriter ( std::ostream &  stream_,
FileType  fileType_ 
)
inline

create a PVTUWriter object

Parameters
stream_Stream to write to.
fileType_Whether to write PolyData (1D) or UnstructuredGrid (nD) format.

Create object and write header.

References DUNE_THROW, Dune::VTK::getEndiannessString(), Dune::VTK::polyData, and Dune::VTK::unstructuredGrid.

Member Function Documentation

◆ addArray()

void Dune::VTK::PVTUWriter::addArray ( const std::string &  name,
unsigned  ncomps,
Precision  prec 
)
inline

Add an array to the output file.

Template Parameters
TThe datatype of the array.
Parameters
nameName of the array.
ncompsNumber of components in each vector of the array.
precThe output precision of the data array

References Dune::VTK::toString().

Referenced by Dune::VTK::VTKFunctionWriter< Func >::addArray(), Dune::VTK::CoordinatesWriter< Cell >::addArray(), Dune::VTK::ConformingConnectivityWriter< IteratorFactory >::addArray(), Dune::VTK::NonConformingConnectivityWriter< Cell >::addArray(), Dune::VTK::OffsetsWriter< Cell >::addArray(), Dune::VTK::TypesWriter< Cell >::addArray(), and Dune::VTK::SkeletonFunctionWriter< Func >::addArray().

◆ beginCellData()

void Dune::VTK::PVTUWriter::beginCellData ( const std::string &  scalars = "",
const std::string &  vectors = "" 
)
inline

start CellData section

Parameters
scalarsName of field to which should be marked as default scalars field. If this is the empty string, don't set any default.
vectorsName of field to which should be marked as default vectors field. If this is the empty string, don't set any default.

If there are no CellData fields, the call to this function may be skipped, together with the corresponding call to endCellData().

◆ beginMain()

void Dune::VTK::PVTUWriter::beginMain ( unsigned  ghostLevel = 0)
inline

start the main PPolyData/PUnstructuredGrid section

Parameters
ghostLevelSet the GhostLevel attribute

Between the call to this method and to endMain(), there should be calls to add the actual data:

◆ beginPointData()

void Dune::VTK::PVTUWriter::beginPointData ( const std::string &  scalars = "",
const std::string &  vectors = "" 
)
inline

start PointData section

Parameters
scalarsName of field to which should be marked as default scalars field. If this is the empty string, don't set any default.
vectorsName of field to which should be marked as default vectors field. If this is the empty string, don't set any default.

If there are no PointData fields, the call to this function may be skipped, together with the corresponding call to endPointData().

◆ beginPoints()

void Dune::VTK::PVTUWriter::beginPoints ( )
inline

start section for the point coordinates

Between the call to this method an the following call to the endPoints(), there must be a single field written. The name must be "Coordinates" and it must have 3 components.


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Dec 21, 23:30, 2024)