valveBank.H
Go to the documentation of this file.
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.
10 
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.
15 
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.
20 
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/>.
23 
24 Class
25  Foam::valveBank
26 
27 Description
28  A list of valves.
29 
30 \*---------------------------------------------------------------------------*/
31 
32 #ifndef valveBank_H
33 #define valveBank_H
34 
35 #include "PtrList.H"
36 #include "engineValve.H"
37 
38 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
39 
40 namespace Foam
41 {
42 
43 /*---------------------------------------------------------------------------*\
44  Class valveBank Declaration
45 \*---------------------------------------------------------------------------*/
46 
47 class valveBank
48 :
49  public PtrList<engineValve>
50 {
51 private:
52 
53  // Private Member Functions
54 
55  //- Disallow default bitwise copy construct
56  valveBank(const valveBank&);
57 
58  //- Disallow default bitwise assignment
59  void operator=(const valveBank&);
60 
61 
62 public:
63 
64  // Constructors
65 
66  //- Construct from Istream
68  (
69  const polyMesh& mesh,
70  Istream& is
71  )
72  {
73  PtrList<entry> valveEntries(is);
74 
75  setSize(valveEntries.size());
76 
77  forAll(valveEntries, valveI)
78  {
79  valveI,
80  set
81  (
82  new engineValve
83  (
84  valveEntries[valveI].keyword(),
85  mesh,
86  valveEntries[valveI].dict()
87  )
88  );
89  }
90  }
91 
92 
93  // Destructor - default
94 
95 
96  // Member Functions
97 };
98 
99 
100 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
101 
102 } // End namespace Foam
103 
104 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
105 
106 #endif
107 
108 // ************************************************************************* //
void setSize(const label)
Reset size of PtrList. If extending the PtrList, new entries are.
label size() const
Return the number of elements in the PtrList.
Definition: PtrListI.H:32
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
Definition: List.H:61
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Definition: Istream.H:57
dynamicFvMesh & mesh
Namespace for OpenFOAM.
dictionary dict
A list of valves.
Definition: valveBank.H:46
#define forAll(list, i)
Definition: UList.H:421
Foam::engineValve.
Definition: engineValve.H:55
Mesh consisting of general polyhedral cells.
Definition: polyMesh.H:74