Adding cfMesh-v1.0 into the repository
[foam-extend-3.2.git] / src / meshLibrary / utilities / meshes / polyMeshGen / polyMeshGen.H
blob95b73bac012c0e4f91c85ccfee253e6cfef7619c
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | cfMesh: A library for mesh generation
4    \\    /   O peration     |
5     \\  /    A nd           | Author: Franjo Juretic (franjo.juretic@c-fields.com)
6      \\/     M anipulation  | Copyright (C) Creative Fields, Ltd.
7 -------------------------------------------------------------------------------
8 License
9     This file is part of cfMesh.
11     cfMesh is free software; you can redistribute it and/or modify it
12     under the terms of the GNU General Public License as published by the
13     Free Software Foundation; either version 3 of the License, or (at your
14     option) any later version.
16     cfMesh 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 cfMesh.  If not, see <http://www.gnu.org/licenses/>.
24 Class
25     polyMeshGen
27 Description
28     Mesh with selections
30 SourceFiles
32 \*---------------------------------------------------------------------------*/
34 #ifndef polyMeshGen_H
35 #define polyMeshGen_H
37 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
39 #include "polyMeshGenCells.H"
40 #include "dictionary.H"
42 namespace Foam
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47 class polyMeshGen
48 : public polyMeshGenCells
50     // Private data
51         //- meta data about the meshing process
52         dictionary metaDict_;
54 public:
55     
56     // Constructors
57         //- Null constructor
58         polyMeshGen(const Time& t);
60         //- Construct from components without the boundary
61         polyMeshGen
62         (
63             const Time& t,
64             const pointField& points,
65             const faceList& faces,
66             const cellList& cells
67         );
69         //- Construct from components with the boundary
70         polyMeshGen
71         (
72             const Time& t,
73             const pointField& points,
74             const faceList& faces,
75             const cellList& cells,
76             const wordList& patchNames,
77             const labelList& patchStart,
78             const labelList& nFacesInPatch
79         );
80         
81     // Destructor
83         ~polyMeshGen();
85     // Public member functions
86         //- return a constant reference to metaDict
87         inline const dictionary& metaData() const
88         {
89             return metaDict_;
90         }
92         //- return a reference to metaDict
93         inline dictionary& metaData()
94         {
95             return metaDict_;
96         }
98     // Read mesh
99         void read();
100     
101     // Write mesh
102         void write() const;
105 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
106     
107 } // End namespace Foam
109 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
111 #endif
113 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //