Loading...
Searching...
No Matches
foamVtkAppendBase64Formatter.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) 2016-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::appendBase64Formatter
28
29Description
30 Appended base-64 encoded binary output.
31 Uses an output filter layer to write base-64 encoded content.
32
33SourceFiles
34 foamVtkAppendBase64Formatter.cxx
35
36\*---------------------------------------------------------------------------*/
37
38#ifndef Foam_vtk_appendBase64Formatter_H
39#define Foam_vtk_appendBase64Formatter_H
40
41#include "foamVtkBase64Layer.H"
42
43// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44
45namespace Foam
46{
47namespace vtk
48{
50/*---------------------------------------------------------------------------*\
51 Class vtk::appendBase64Formatter Declaration
52\*---------------------------------------------------------------------------*/
53
54class appendBase64Formatter
55:
57{
58 // Private Data Members
59
60 static const char* name_;
61 static const outputOptions opts_;
62
63 //- The current offset for append data.
64 uint64_t offset_;
65
66
67 // Private Member Functions
68
69 //- No copy construct
70 appendBase64Formatter(const appendBase64Formatter&) = delete;
71
72 //- No copy assignment
73 void operator=(const appendBase64Formatter&) = delete;
74
75
76public:
77
78 // Constructors
79
80 //- Construct and attach to an output stream
81 explicit appendBase64Formatter(std::ostream& os);
82
83
84 //- Destructor. Closes/flushes the underlying layer.
85 virtual ~appendBase64Formatter();
86
87
88 // Member Functions
89
90 //- The output is APPEND_BASE64.
91 virtual const vtk::outputOptions& opts() const;
92
93 //- Output name for XML type ("append")
94 virtual const char* name() const;
95
96 //- Increase the append data offset by numbytes and sizeof(uint64_t).
97 // The additional (uint64_t) size information is consistent with
98 // writeSize().
99 //
100 // \return The previous data offset
101 virtual uint64_t offset(const uint64_t numbytes);
102};
104
105// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
106
107} // End namespace vtk
108} // End namespace Foam
109
110// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
111
112#endif
114// ************************************************************************* //
virtual const vtk::outputOptions & opts() const
The output is APPEND_BASE64.
virtual const char * name() const
Output name for XML type ("append").
appendBase64Formatter(std::ostream &os)
Construct and attach to an output stream.
virtual uint64_t offset(const uint64_t numbytes)
Increase the append data offset by numbytes and sizeof(uint64_t).
virtual ~appendBase64Formatter()
Destructor. Closes/flushes the underlying layer.
Base-64 encoded output layer - normally only used indirectly by formatters.
std::ostream & os() noexcept
Access to the underlying output stream.
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.
Namespace for OpenFOAM.