1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd.
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
11 OpenFOAM is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by
13 the Free Software Foundation, either version 3 of the License, or
14 (at your option) any later version.
16 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 Foam::ensightBinaryStream
32 \*---------------------------------------------------------------------------*/
34 #ifndef ensightBinaryStream_H
35 #define ensightBinaryStream_H
37 #include "ensightStream.H"
39 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 /*---------------------------------------------------------------------------*\
45 Class ensightBinaryStream Declaration
46 \*---------------------------------------------------------------------------*/
48 class ensightBinaryStream
54 //- Description of data_
55 autoPtr<std::ofstream> str_;
58 // Private Member Functions
60 //- Disallow default bitwise copy construct
61 ensightBinaryStream(const ensightBinaryStream&);
63 //- Disallow default bitwise assignment
64 void operator=(const ensightBinaryStream&);
71 //- Construct from components
72 ensightBinaryStream(const fileName& f, const Time&)
80 ios_base::out | ios_base::binary | ios_base::trunc
87 virtual ~ensightBinaryStream()
93 virtual bool ascii() const
98 virtual void write(const char* val)
100 char buffer[80] = {0};
102 str_().write(buffer, 80*sizeof(char));
105 virtual void write(const int val)
107 str_().write(reinterpret_cast<const char*>(&val), sizeof(int));
110 virtual void write(const scalarField& sf)
114 List<float> temp(sf.size());
118 temp[i] = float(sf[i]);
123 reinterpret_cast<const char*>(temp.begin()),
124 sf.size()*sizeof(float)
129 virtual void write(const List<int>& sf)
133 reinterpret_cast<const char*>(sf.begin()),
134 sf.size()*sizeof(int)
138 virtual void writePartHeader(const label partI)
150 // IOstream Operators
155 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
157 } // End namespace Foam
159 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
163 // ************************************************************************* //