1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 1991-2008 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 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
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
26 Foam::fieldviewTopology
33 \*---------------------------------------------------------------------------*/
35 #ifndef fieldviewTopology_H
36 #define fieldviewTopology_H
38 #include "labelList.H"
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 // Forward declaration of classes
50 /*---------------------------------------------------------------------------*\
51 Class fieldviewTopology Declaration
52 \*---------------------------------------------------------------------------*/
54 class fieldviewTopology
58 //- Hexes in fieldview format
61 labelList prismLabels_;
67 //- Number of non-hex/prism/pyr/tet labels
75 //- Quad and tri patch faces in fv format
76 labelListList quadFaceLabels_;
78 //- Number of polyhedral faces per patch
79 labelList nPolyFaces_;
82 // Private Member Functions
84 static labelList calcFaceAddressing
86 const faceList& allFaces, // faces given faceLabels
87 const cellShape& shape,
88 const labelList& faces, // faceLabels for given cell
93 //- Disallow default bitwise copy construct
94 fieldviewTopology(const fieldviewTopology&);
96 //- Disallow default bitwise assignment
97 void operator=(const fieldviewTopology&);
104 //- Construct from components
105 fieldviewTopology(const polyMesh& mesh, const bool setWallInfo);
112 const labelList& hexLabels() const
117 const labelList& prismLabels() const
122 const labelList& pyrLabels() const
127 const labelList& tetLabels() const
134 return hexLabels().size()/9;
139 return prismLabels().size()/7;
144 return pyrLabels().size()/6;
149 return tetLabels().size()/5;
157 const labelListList& quadFaceLabels() const
159 return quadFaceLabels_;
162 const labelList& nPolyFaces() const
169 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
171 } // End namespace Foam
173 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
177 // ************************************************************************* //