BUG: UListIO: byteSize overflowing on really big faceLists
[OpenFOAM-2.0.x.git] / src / postProcessing / functionObjects / IO / writeRegisteredObject / writeRegisteredObject.H
bloba33441ae333dfd1bc01dcd06d4d0a0ebd41dd3c4
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
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::writeRegisteredObject
27 Description
28     Takes over the writing of registered IO objects
30 SourceFiles
31     writeRegisteredObject.C
32     IOwriteRegisteredObject.H
34 \*---------------------------------------------------------------------------*/
36 #ifndef writeRegisteredObject_H
37 #define writeRegisteredObject_H
39 #include "pointFieldFwd.H"
40 #include "wordList.H"
41 #include "runTimeSelectionTables.H"
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 namespace Foam
48 // Forward declaration of classes
49 class objectRegistry;
50 class dictionary;
51 class mapPolyMesh;
53 /*---------------------------------------------------------------------------*\
54                    Class writeRegisteredObject Declaration
55 \*---------------------------------------------------------------------------*/
57 class writeRegisteredObject
59 protected:
61     // Private data
63         //- Name of this set of writeRegisteredObject
64         word name_;
66         const objectRegistry& obr_;
68         // Read from dictionary
70             //- Names of objects to control
71             wordList objectNames_;
74     // Private Member Functions
77         //- Disallow default bitwise copy construct
78         writeRegisteredObject(const writeRegisteredObject&);
80         //- Disallow default bitwise assignment
81         void operator=(const writeRegisteredObject&);
84 public:
86     //- Runtime type information
87     TypeName("writeRegisteredObject");
90     // Constructors
92         //- Construct for given objectRegistry and dictionary.
93         //  Allow the possibility to load fields from files
94         writeRegisteredObject
95         (
96             const word& name,
97             const objectRegistry&,
98             const dictionary&,
99             const bool loadFromFiles = false
100         );
103     //- Destructor
104     virtual ~writeRegisteredObject();
107     // Member Functions
109         //- Return name of the writeRegisteredObject
110         virtual const word& name() const
111         {
112             return name_;
113         }
115         //- Read the writeRegisteredObject data
116         virtual void read(const dictionary&);
118         //- Execute, currently does nothing
119         virtual void execute();
121         //- Execute at the final time-loop, currently does nothing
122         virtual void end();
124         //- Write the writeRegisteredObject
125         virtual void write();
127         //- Update for changes of mesh
128         virtual void updateMesh(const mapPolyMesh&)
129         {}
131         //- Update for changes of mesh
132         virtual void movePoints(const pointField&)
133         {}
137 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
139 } // End namespace Foam
141 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
143 #endif
145 // ************************************************************************* //