Forward compatibility: flex
[foam-extend-3.2.git] / src / mesh / cfMesh / utilities / triSurfaceTools / triSurfaceMetaData / triSurfaceMetaData.H
blob9649d7011df7649afe9f281dca3719db7392fae0
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     triSurfaceMetaData
27 Description
28     Generates meta data of the surface mesh. It contains:
29     The number of points
30     The number of triangles
31     The number of patches
32     The number of feature edges
33     The number of subsets, names, and the number of elements in each subset
35 SourceFiles
36     triSurfaceMetaData.C
38 \*---------------------------------------------------------------------------*/
40 #ifndef triSurfaceMetaData_H
41 #define triSurfaceMetaData_H
43 #include "triSurf.H"
44 #include "dictionary.H"
46 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48 namespace Foam
51 /*---------------------------------------------------------------------------*\
52                 Class triSurfaceMetaData Declaration
53 \*---------------------------------------------------------------------------*/
55 class triSurfaceMetaData
57     // Private data
58         //- const reference to triSurf
59         const triSurf& surf_;
61         //- patches/subsets for removal
62         dictionary metaDict_;
64     // Private member functions
65         //- create dictionary with meta data
66         void createMetaData();
68         //- Disallow default bitwise copy construct
69         triSurfaceMetaData(const triSurfaceMetaData&);
71         //- Disallow default bitwise assignment
72         void operator=(const triSurfaceMetaData&);
74 public:
76     // Constructors
78         //- Construct from triSurf
79         triSurfaceMetaData(const triSurf& surface);
81     // Destructor
83         ~triSurfaceMetaData();
86     // Member Functions
88         //- return a constant reference to meta data
89         const dictionary& metaData() const
90         {
91             return metaDict_;
92         }
95 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
97 } // End namespace Foam
99 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
101 #endif
103 // ************************************************************************* //