Merge branch 'master' of ssh://git.code.sf.net/p/foam-extend/foam-extend-3.2
[foam-extend-3.2.git] / src / tetFiniteElement / tetPolyMesh / tetPolyBoundaryMesh / tetPolyBoundaryMesh.H
blob9c55a0169a6d9e7e36847b7218fc68366f5e4549
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     tetPolyBoundaryMesh
27 Description
29 SourceFiles
30     tetPolyBoundaryMesh.C
32 \*---------------------------------------------------------------------------*/
34 #ifndef tetPolyBoundaryMesh_H
35 #define tetPolyBoundaryMesh_H
37 #include "tetPolyPatchList.H"
38 #include "faceListFwd.H"
39 #include "lduInterfacePtrsList.H"
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 namespace Foam
46 // Class forward declarations
47 class tetPolyMesh;
48 class polyBoundaryMesh;
49 class globalTetPolyPatch;
51 /*---------------------------------------------------------------------------*\
52                  Class tetPolyBoundaryMesh Declaration
53 \*---------------------------------------------------------------------------*/
55 class tetPolyBoundaryMesh
57     public tetPolyPatchList
59     // Private data
61         //- Reference to mesh
62         const tetPolyMesh& mesh_;
65     // Private Member Functions
67         //- Disallow default bitwise copy construct
68         tetPolyBoundaryMesh(const tetPolyBoundaryMesh&);
70         //- Disallow default bitwise assignment
71         void operator=(const tetPolyBoundaryMesh&);
74 public:
76     // Constructors
78         //- Construct from polyBoundaryMesh
79         tetPolyBoundaryMesh
80         (
81             const tetPolyMesh&,
82             const polyBoundaryMesh&
83         );
86     // Member functions
88         // Access
90         //- Return the mesh reference
91             const tetPolyMesh& mesh() const
92             {
93                 return mesh_;
94             }
96             //- Return a list of pointers for each patch
97             //  with only those pointing to interfaces being set
98             lduInterfacePtrsList interfaces() const;
100             //- Return reference to shared processor point patch
101             const globalTetPolyPatch& globalPatch() const;
103             //- Return boundary faces per patch.  All are triangles
104             faceListList boundaryTriFaces() const;
107         // Edit
109             // Update topology
110             void updateMesh();
114 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
116 } // End namespace Foam
118 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
120 #endif
122 // ************************************************************************* //