1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
7 -------------------------------------------------------------------------------
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
13 the Free Software Foundation, either version 3 of the License, or
14 (at your 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
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/>.
32 \*---------------------------------------------------------------------------*/
34 #ifndef extrudedMesh_H
35 #define extrudedMesh_H
38 #include "extrudeModel.H"
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 /*---------------------------------------------------------------------------*\
46 Class extrudedMesh Declaration
47 \*---------------------------------------------------------------------------*/
55 const extrudeModel& model_;
58 // Private Member Functions
60 //- Do edge and face use points in same order?
61 static bool sameOrder(const face&, const edge&);
63 //- Construct and return the extruded mesh points
64 template<class Face, template<class> class FaceList, class PointField>
65 Xfer<pointField> extrudedPoints
67 const PrimitivePatch<Face, FaceList, PointField>& extrudePatch,
71 //- Construct and return the extruded mesh faces
72 template<class Face, template<class> class FaceList, class PointField>
73 Xfer<faceList> extrudedFaces
75 const PrimitivePatch<Face, FaceList, PointField>& extrudePatch,
79 //- Construct and return the extruded mesh cells
80 template<class Face, template<class> class FaceList, class PointField>
81 Xfer<cellList> extrudedCells
83 const PrimitivePatch<Face, FaceList, PointField>& extrudePatch,
88 //- Disallow default bitwise copy construct
89 extrudedMesh(const extrudedMesh&);
91 //- Disallow default bitwise assignment
92 void operator=(const extrudedMesh&);
99 //- Construct from the primitivePatch to extrude
100 template<class Face, template<class> class FaceList, class PointField>
104 const PrimitivePatch<Face, FaceList, PointField>& extrudePatch,
110 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
112 } // End namespace Foam
114 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
117 # include "extrudedMesh.C"
120 # pragma implementation("extrudedMesh.C")
126 // ************************************************************************* //