1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright held by original author
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
29 Helper class which when constructed with a triSurface
30 sorts the faces according to region number (or rather constructs a
36 \*---------------------------------------------------------------------------*/
38 #ifndef sortLabelledTri_H
39 #define sortLabelledTri_H
41 #include "labelList.H"
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48 class sortLabelledTri;
51 /*---------------------------------------------------------------------------*\
52 Class surfAndLabel Declaration
53 \*---------------------------------------------------------------------------*/
55 //- Hold surface and label
58 const triSurface* surfPtr_;
64 //- scalar comparison function used for sorting
69 inline bool operator()
71 const surfAndLabel& one,
72 const surfAndLabel& two
79 friend class sortLabelledTri;
90 //- Construct from surface and index
91 surfAndLabel(const triSurface& surf, const label index)
99 /*---------------------------------------------------------------------------*\
100 Class sortLabelledTri Declaration
101 \*---------------------------------------------------------------------------*/
103 class sortLabelledTri
105 public List<surfAndLabel>
112 //- Construct from surface, sorting the faces according to patch
113 sortLabelledTri(const triSurface&);
120 //- Set the labelList to those of sorted point indices
121 void indices(labelList&) const;
123 //- Return the list of sorted point indices
124 labelList indices() const;
128 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
130 } // End namespace Foam
132 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
136 // ************************************************************************* //