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/>.
28 Collection of static functions to do various simple patch related things.
33 \*---------------------------------------------------------------------------*/
38 #include "labelList.H"
39 #include "primitivePatch.H"
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 /*---------------------------------------------------------------------------*\
47 Class walkPatch Declaration
48 \*---------------------------------------------------------------------------*/
54 //- Reference to patch to walk on
55 const primitivePatch& pp_;
57 //- Reference to zones
58 const labelList& faceZone_;
60 //- How to walk through faces
63 //- Reference to list to mark off visited faces
68 DynamicList<label> visitOrder_;
70 // Index in face of vertex it was visited through
71 DynamicList<label> indexInFace_;
74 // Private Member Functions
76 //- Get other face using v0, v1. Returns -1 if none.
85 //- Gets labels of changed faces and enterVertices on faces.
86 // Returns labels of faces changed and enterVertices on them.
89 const labelList& changedFaces,
90 const labelList& enterVerts,
93 labelList& nbrEnterVerts
97 //- Disallow default bitwise copy construct
98 walkPatch(const walkPatch&);
100 //- Disallow default bitwise assignment
101 void operator=(const walkPatch&);
105 ClassName("walkPatch");
110 //- Construct from components
113 const primitivePatch& pp,
114 const labelList& faceZone, // Per face which zone it belongs to
115 const bool reverse, // Reverse walk
116 const label faceI, // Current face
117 const label enterVertI, // Vertex across which this face
125 const DynamicList<label>& visitOrder() const
130 const DynamicList<label>& indexInFace() const
138 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
140 } // End namespace Foam
142 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
146 // ************************************************************************* //