Write surfaces fields (as PointData) in VTP format. Legacy VTK format is intentionally not supported. More...
Public Member Functions | |
surfaceFieldWriter (const fvMesh &mesh, const vtk::outputOptions opts=vtk::formatType::INLINE_BASE64) | |
Construct from mesh (default format INLINE_BASE64) More... | |
surfaceFieldWriter (const fvMesh &mesh, const fileName &file, bool parallel=Pstream::parRun()) | |
surfaceFieldWriter (const fvMesh &mesh, const vtk::outputOptions opts, const fileName &file, bool parallel=Pstream::parRun()) | |
Construct from mesh and open the file for writing. More... | |
virtual | ~surfaceFieldWriter ()=default |
Destructor. More... | |
virtual bool | beginFile (std::string title="") |
Write file header (non-collective) More... | |
virtual bool | writeGeometry () |
Write cloud positions. More... | |
virtual bool | beginCellData (label nFields=0) |
Begin CellData output section for specified number of fields. More... | |
virtual bool | beginPointData (label nFields=0) |
Begin PointData output section. More... | |
void | write (const surfaceVectorField &field) |
Write field. More... | |
Public Member Functions inherited from fileWriter | |
fileWriter (const vtk::fileTag contentType, const vtk::outputOptions opts) | |
Construct from components. More... | |
virtual | ~fileWriter () |
Destructor. More... | |
vtk::fileTag | contentType () const |
The content type. More... | |
vtk::outputOptions | opts () const |
The output options in use. More... | |
word | ext () const |
File extension for current format type. More... | |
bool | legacy () const |
Commonly used query. More... | |
bool | parallel () const |
Parallel output requested? More... | |
const word & | state () const |
The output state in printable format. More... | |
const fileName & | output () const |
The current output file name. More... | |
bool | open (const fileName &file, bool parallel=Pstream::parRun()) |
Open file for writing (creates parent directory). More... | |
void | close () |
End the file contents and close the file after writing. More... | |
bool | beginFieldData (label nFields=0) |
Begin FieldData output section for specified number of fields. More... | |
label | nCellData () const |
Return the number of CellData written for the Piece thus far. More... | |
label | nPointData () const |
Return the number of PointData written for the Piece thus far. More... | |
bool | endFieldData () |
Explicitly end FieldData output and switch to DECLARED state. More... | |
bool | endCellData () |
Explicitly end CellData output and switch to PIECE state. More... | |
bool | endPointData () |
Explicitly end PointData output and switch to PIECE state. More... | |
void | writeTimeValue (scalar timeValue) |
Write "TimeValue" FieldData (name as per Catalyst output) More... | |
Static Public Member Functions | |
static word | ext (vtk::outputOptions) |
File extension for given output type. More... | |
Additional Inherited Members | |
Protected Types inherited from fileWriter | |
enum | outputState { CLOSED = 0, OPENED, DECLARED, FIELD_DATA, PIECE, CELL_DATA, POINT_DATA } |
Internal tracking of the output state. More... | |
Protected Member Functions inherited from fileWriter | |
std::ofstream & | os () |
The backend ostream in use. More... | |
vtk::formatter & | format () |
The VTK formatter in use. More... | |
bool | isState (outputState test) const |
True if the output state corresponds to the test state. More... | |
bool | notState (outputState test) const |
True if the output state does not correspond to the test state. More... | |
template<class Type > | |
void | writeUniform (const word &fieldName, const Type &val, const label nValues) |
Write uniform field content. More... | |
bool | enter_Piece () |
Trigger change state to Piece. Resets nCellData_, nPointData_. More... | |
bool | endPiece () |
Explicitly end Piece output and switch to DECLARED state. More... | |
bool | enter_CellData (label nEntries, label nFields) |
Trigger change state to CellData. More... | |
bool | enter_PointData (label nEntries, label nFields) |
Trigger change state to PointData. More... | |
bool | exit_File () |
Emit file footer (end data, end piece, end file) More... | |
fileWriter (const fileWriter &)=delete | |
No copy construct. More... | |
void | operator= (const fileWriter &)=delete |
No copy assignment. More... | |
Protected Attributes inherited from fileWriter | |
vtk::fileTag | contentType_ |
The content type. More... | |
outputOptions | opts_ |
The requested output options. More... | |
bool | parallel_ |
Writing in parallel (via master) More... | |
outputState | state_ |
The output state. More... | |
label | nCellData_ |
The number of CellData written for the Piece thus far. More... | |
label | nPointData_ |
The number of PointData written for the Piece thus far. More... | |
fileName | outputFile_ |
The output file name. More... | |
autoPtr< vtk::formatter > | format_ |
The VTK formatter in use (master process) More... | |
std::ofstream | os_ |
The backend ostream in use (master process) More... | |
Static Protected Attributes inherited from fileWriter | |
static const Enum< outputState > | stateNames |
Names for the output state (for messages, not for file output). More... | |
Write surfaces fields (as PointData) in VTP format. Legacy VTK format is intentionally not supported.
The file output is structured as HEAD, FIELD_DATA, PIECE followed by any CELL_DATA or POINT_DATA. These states are tracked internally to help detect logic errors.
The FieldData element is to be placed prior to writing any geometry Piece. This moves the information to the front of the output file for visibility and simplifies the logic.
Definition at line 71 of file foamVtkSurfaceFieldWriter.H.
surfaceFieldWriter | ( | const fvMesh & | mesh, |
const vtk::outputOptions | opts = vtk::formatType::INLINE_BASE64 |
||
) |
Construct from mesh (default format INLINE_BASE64)
Definition at line 62 of file foamVtkSurfaceFieldWriter.C.
References fileWriter::legacy().
surfaceFieldWriter | ( | const fvMesh & | mesh, |
const fileName & | file, | ||
bool | parallel = Pstream::parRun() |
||
) |
Construct from mesh (default format INLINE_BASE64), and open the file for writing.
The file name is with/without an extension.
Definition at line 77 of file foamVtkSurfaceFieldWriter.C.
surfaceFieldWriter | ( | const fvMesh & | mesh, |
const vtk::outputOptions | opts, | ||
const fileName & | file, | ||
bool | parallel = Pstream::parRun() |
||
) |
Construct from mesh and open the file for writing.
The file name is with/without an extension.
Definition at line 90 of file foamVtkSurfaceFieldWriter.C.
|
virtualdefault |
Destructor.
|
inlinestatic |
File extension for given output type.
Definition at line 139 of file foamVtkSurfaceFieldWriter.H.
References Foam::vtk::fileExtension, and Foam::vtk::POLY_DATA.
|
virtual |
Write file header (non-collective)
Reimplemented from fileWriter.
Definition at line 105 of file foamVtkSurfaceFieldWriter.C.
References fileWriter::beginFile(), and Foam::name().
|
virtual |
Write cloud positions.
Also writes the file header if not previously written.
Implements fileWriter.
Definition at line 135 of file foamVtkSurfaceFieldWriter.C.
References format(), Foam::vtk::NUMBER_OF_POINTS, Foam::vtk::PIECE, Foam::vtk::POINTS, Foam::reduce(), Foam::vtk::writeList(), and Foam::vtk::writeListParallel().
|
virtual |
Begin CellData output section for specified number of fields.
Must be called prior to writing any cell data fields.
nFields | is the number of fields, which is required for legacy format. |
Implements fileWriter.
Definition at line 212 of file foamVtkSurfaceFieldWriter.C.
|
virtual |
Begin PointData output section.
Must be called prior to writing data fields.
Implements fileWriter.
Definition at line 219 of file foamVtkSurfaceFieldWriter.C.
void write | ( | const surfaceVectorField & | field | ) |
Write field.
Definition at line 226 of file foamVtkSurfaceFieldWriter.C.
References boundary, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, field(), format(), Foam::nl, Foam::vtk::POINT_DATA, Foam::reduce(), Foam::vtk::writeList(), and Foam::vtk::writeListParallel().