Initial commit for version 2.0.x patch release
[OpenFOAM-2.0.x.git] / src / surfMesh / surfaceFormats / ofs / OFSsurfaceFormatCore.C
blob6aaa8571adceba4afaa0c01eb18969f5438de94b
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2004-2010 OpenCFD Ltd.
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
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
19     for more details.
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/>.
24 \*---------------------------------------------------------------------------*/
26 #include "OFSsurfaceFormatCore.H"
27 #include "clock.H"
29 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
31 void Foam::fileFormats::OFSsurfaceFormatCore::writeHeader
33     Ostream& os,
34     const pointField& pointLst,
35     const UList<surfZone>& zoneLst
38     // just emit some information until we get a nice IOobject
39     IOobject::writeBanner(os)
40         << "// OpenFOAM Surface Format - written "
41         << clock::dateTime().c_str() << nl
42         << "// ~~~~~~~~~~~~~~~~~~~~~~~" << nl << nl
43         << "// surfZones:" << nl;
46     // treat a single zone as being unzoned
47     if (zoneLst.size() <= 1)
48     {
49         os  << "0" << token::BEGIN_LIST << token::END_LIST << nl << nl;
50     }
51     else
52     {
53         os  << zoneLst.size() << nl << token::BEGIN_LIST << incrIndent << nl;
55         forAll(zoneLst, zoneI)
56         {
57             zoneLst[zoneI].writeDict(os);
58         }
59         os  << decrIndent << token::END_LIST << nl << nl;
60     }
62     // Note: write with global point numbering
64     IOobject::writeDivider(os)
65         << "\n// points:" << nl << pointLst << nl;
67     IOobject::writeDivider(os);
71 // ************************************************************************* //