Forward compatibility: flex
[foam-extend-3.2.git] / src / dynamicMesh / dynamicTopoFvMesh / fieldMapping / topoBoundaryMeshMapper.H
blob48c3cbf2934136d3bd5e228d10bbca9b536937e7
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     | Version:     3.2
5     \\  /    A nd           | Web:         http://www.foam-extend.org
6      \\/     M anipulation  | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
8 License
9     This file is part of foam-extend.
11     foam-extend 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     foam-extend is distributed in the hope that it will be useful, but
17     WITHOUT ANY WARRANTY; without even the implied warranty of
18     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19     General Public License for more details.
21     You should have received a copy of the GNU General Public License
22     along with foam-extend.  If not, see <http://www.gnu.org/licenses/>.
24 Class
25     topoBoundaryMeshMapper
27 Description
28     This object provides mapping and fill-in information for boundary data
29     between the two meshes after the topological change.  It is
30     constructed from mapPolyMesh.
32 Author
33     Sandeep Menon
34     University of Massachusetts Amherst
35     All rights reserved
37 \*---------------------------------------------------------------------------*/
39 #ifndef topoBoundaryMeshMapper_H
40 #define topoBoundaryMeshMapper_H
42 #include "PtrList.H"
43 #include "topoPatchMapper.H"
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47 namespace Foam
50 /*---------------------------------------------------------------------------*\
51                     Class topoBoundaryMeshMapper Declaration
52 \*---------------------------------------------------------------------------*/
54 class topoBoundaryMeshMapper
56     public PtrList<topoPatchMapper>
58     // Private Member Functions
60         //- Disallow default bitwise copy construct
61         topoBoundaryMeshMapper(const topoBoundaryMeshMapper&);
63         //- Disallow default bitwise assignment
64         void operator=(const topoBoundaryMeshMapper&);
67 public:
69     // Constructors
71         //- Construct from components
72         topoBoundaryMeshMapper
73         (
74             const fvMesh& mesh,
75             const mapPolyMesh& mpm,
76             const topoMapper& mapper
77         )
78         :
79             PtrList<topoPatchMapper>(mesh.boundary().size())
80         {
81             const fvBoundaryMesh& patches = mesh.boundary();
83             forAll (patches, patchI)
84             {
85                 set
86                 (
87                     patchI,
88                     new topoPatchMapper
89                     (
90                         patches[patchI],
91                         mpm,
92                         mapper
93                     )
94                 );
95             }
96         }
100 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
102 } // End namespace Foam
104 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
106 #endif
108 // ************************************************************************* //