Initial commit for version 2.0.x patch release
[OpenFOAM-2.0.x.git] / src / surfMesh / surfaceFormats / ac3d / AC3DsurfaceFormatCore.H
blob34681cba489240ee352d1dcb32ced8629aaa7d52
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 Class
25     Foam::fileFormats::AC3DsurfaceFormatCore
27 Description
28     Internal class used by the AC3DsurfaceFormat
30 SourceFiles
31     AC3DsurfaceFormatCore.C
33 \*---------------------------------------------------------------------------*/
35 #ifndef AC3DsurfaceFormatCore_H
36 #define AC3DsurfaceFormatCore_H
38 #include "IFstream.H"
39 #include "Ostream.H"
40 #include "OFstream.H"
41 #include "MeshedSurface.H"
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 namespace Foam
47 namespace fileFormats
50 /*---------------------------------------------------------------------------*\
51                     Class AC3DsurfaceFormatCore Declaration
52 \*---------------------------------------------------------------------------*/
54 class AC3DsurfaceFormatCore
56 protected:
58     // Protected Member Functions
60         //- Read a type via IStringStream
61         template<class Type>
62         static Type parse(const string&);
64         //- Read cmd, args from IFstream
65         static bool readCmd(IFstream&, string& cmd, string& args);
67         //- Cue up to cmd, reading args
68         static bool cueTo(IFstream&, const string& cmd, string& args);
70         //- Cue up to cmd, reading args or exit with a FatalError
71         //  returns the command args
72         static string cueToOrDie
73         (
74             IFstream&,
75             const string& cmd,
76             const string& errorMsg=string::null
77         );
79         //- Write header with materials
80         static void writeHeader(Ostream&, const UList<surfZone>&);
84 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
86 } // End namespace fileFormats
87 } // End namespace Foam
89 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
91 #ifdef NoRepository
92 #   include "AC3DsurfaceFormatCoreTemplates.C"
93 #endif
95 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
97 #endif
99 // ************************************************************************* //