Loading...
Searching...
No Matches
foamVtkLegacyAsciiFormatter.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 \\ / O peration |
5 \\ / A nd | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2017-2022 OpenCFD Ltd.
9-------------------------------------------------------------------------------
10License
11 This file is part of OpenFOAM.
12
13 OpenFOAM is free software: you can redistribute it and/or modify it
14 under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26Class
27 Foam::vtk::legacyAsciiFormatter
28
29Description
30 Formatting as per Foam::vtk::asciiFormatter, but with
31 naming for legacy output.
32
33SourceFiles
34 foamVtkLegacyAsciiFormatter.cxx
35
36\*---------------------------------------------------------------------------*/
37
38#ifndef Foam_vtk_legacyAsciiFormatter_H
39#define Foam_vtk_legacyAsciiFormatter_H
40
42
43// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44
45namespace Foam
46{
47namespace vtk
48{
50/*---------------------------------------------------------------------------*\
51 Class vtk::legacyAsciiFormatter Declaration
52\*---------------------------------------------------------------------------*/
53
54class legacyAsciiFormatter
55:
57{
58 // Private Data Members
59
60 static const char* legacyName_;
61 static const outputOptions opts_;
62
63
64 // Private Member Functions
65
66 //- No copy construct
67 legacyAsciiFormatter(const legacyAsciiFormatter&) = delete;
68
69 //- No copy assignment
70 void operator=(const legacyAsciiFormatter&) = delete;
71
72
73public:
74
75 // Constructors
76
77 //- Construct and attach to an output stream, use default precision
78 explicit legacyAsciiFormatter(std::ostream& os);
80 //- Construct and attach to an output stream, use specified precision
81 legacyAsciiFormatter(std::ostream& os, unsigned prec);
82
83
84 //- Destructor
85 virtual ~legacyAsciiFormatter() = default;
86
87
88 // Member Functions
89
90 //- The output is LEGACY_ASCII.
91 virtual const vtk::outputOptions& opts() const;
92
93 //- Name for the legacy ascii output type ("ASCII")
94 virtual const char* name() const;
95
96 //- Name for the XML append encoding (unused).
97 // Currently identical to name(), but do not rely on this.
98 virtual const char* encoding() const;
99
100
101 // Disable some XML-only methods
102
103 inline virtual formatter& endTag(vtk::fileTag) { return *this; }
104 inline virtual formatter& endDataArray() { return *this; }
105 inline virtual formatter& endFieldData() { return *this; }
106 inline virtual formatter& endCellData() { return *this; }
107 inline virtual formatter& endPointData() { return *this; }
108 inline virtual formatter& endPiece() { return *this; }
109 inline virtual formatter& endVTKFile() { return *this; }
111
112
113// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
114
115} // End namespace vtk
116} // End namespace Foam
118// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
120#endif
122// ************************************************************************* //
Inline ASCII output. Adds spaces between entries and a newline every 9 items (for consistency with wh...
Abstract class for a VTK output stream formatter.
formatter(std::ostream &os)
Construct and attach to an output stream.
std::ostream & os() noexcept
Access to the underlying output stream.
legacyAsciiFormatter(std::ostream &os)
Construct and attach to an output stream, use default precision.
virtual const vtk::outputOptions & opts() const
The output is LEGACY_ASCII.
virtual const char * name() const
Name for the legacy ascii output type ("ASCII").
virtual formatter & endPointData()
End "PointData" XML section.
virtual formatter & endVTKFile()
End "VTKFile" XML section.
virtual formatter & endTag(vtk::fileTag)
An end XML tag with sanity check.
virtual formatter & endCellData()
End "CellData" XML section.
legacyAsciiFormatter(std::ostream &os, unsigned prec)
Construct and attach to an output stream, use specified precision.
virtual ~legacyAsciiFormatter()=default
Destructor.
virtual const char * encoding() const
Name for the XML append encoding (unused).
virtual formatter & endDataArray()
End "DataArray" XML section.
virtual formatter & endPiece()
End "Piece" XML section.
virtual formatter & endFieldData()
End "FieldData" XML section.
Encapsulated combinations of output format options. This is primarily useful when defining the output...
Namespace for handling VTK output. Contains classes and functions for writing VTK file content.
fileTag
Some common XML tags for vtk files.
Namespace for OpenFOAM.