BUG: PointEdgeWave : n cyclics bool instead of label
[OpenFOAM-1.6.x.git] / src / meshTools / sets / topoSets / cellSet.H
blob607813ab9cf76e6f5d9e5d5146e9566a9c8725b8
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-2009 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 the
13     Free Software Foundation; either version 2 of the License, or (at your
14     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, write to the Free Software Foundation,
23     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 Class
26     Foam::cellSet
28 Description
29     A collection of cell labels.
31 SourceFiles
32     cellSet.C
34 \*---------------------------------------------------------------------------*/
36 #ifndef cellSet_H
37 #define cellSet_H
39 #include "topoSet.H"
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 namespace Foam
46 /*---------------------------------------------------------------------------*\
47                            Class cellSet Declaration
48 \*---------------------------------------------------------------------------*/
50 class cellSet
52     public topoSet
56     // Private Member Functions
58         //- Disallow default bitwise copy construct
59         cellSet(const cellSet&);
61 public:
63     //- Runtime type information
64     TypeName("cellSet");
67     // Constructors
70         //- Construct from IOobject. No checking.
71         cellSet(const IOobject& obj);
73         //- Construct from polyMesh and name. Checks for valid cell ids.
74         cellSet
75         (
76             const polyMesh& mesh,
77             const word& name,
78             readOption r=MUST_READ,
79             writeOption w=NO_WRITE
80         );
82         //- Construct empty from size of labelHashSet
83         cellSet
84         (
85             const polyMesh& mesh,
86             const word& name,
87             const label sizes,
88             writeOption w=NO_WRITE
89         );
91         //- Construct from existing set
92         cellSet
93         (
94             const polyMesh& mesh,
95             const word& name,
96             const topoSet&,
97             writeOption w=NO_WRITE
98         );
100         //- Construct from labelHashSet
101         cellSet
102         (
103             const polyMesh& mesh,
104             const word& name,
105             const labelHashSet&,
106             writeOption w=NO_WRITE
107         );
110         // Used for tetMesh cellSet only.
112             //- Construct from objectRegistry and name.
113             cellSet
114             (
115                 const Time&,
116                 const word& name,
117                 readOption r=MUST_READ,
118                 writeOption w=NO_WRITE
119             );
121             //- Construct empty from objectRegistry.
122             cellSet
123             (
124                 const Time&,
125                 const word& name,
126                 const label size,
127                 writeOption w=NO_WRITE
128             );
130             //- Construct from labelHashSet
131             cellSet
132             (
133                 const Time&,
134                 const word& name,
135                 const labelHashSet&,
136                 writeOption w=NO_WRITE
137             );
140     // Destructor
142         virtual ~cellSet();
145     // Member functions
147         //- Sync cellSet across coupled patches.
148         virtual void sync(const polyMesh& mesh)
149         {}
151         //- Return max index+1.
152         virtual label maxSize(const polyMesh& mesh) const;
154         //- Update any stored data for new labels
155         virtual void updateMesh(const mapPolyMesh& morphMap);
157         //- Write maxLen items with label and coordinates.
158         virtual void writeDebug
159         (
160             Ostream& os,
161             const primitiveMesh&,
162             const label maxLen
163         ) const;
168 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
170 } // End namespace Foam
172 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
174 #endif
176 // ************************************************************************* //