sortEdgesIntoChains.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | cfMesh: A library for mesh generation
4  \\ / O peration |
5  \\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
6  \\/ M anipulation | Copyright (C) Creative Fields, Ltd.
7 -------------------------------------------------------------------------------
8 License
9  This file is part of cfMesh.
10 
11  cfMesh 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.
15 
16  cfMesh 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
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with cfMesh. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  sortEdgesIntoChains
26 
27 Description
28  Creates boundary faces from a chain of open edges
29 
30 SourceFiles
31  sortEdgesIntoChains.C
32 
33 \*---------------------------------------------------------------------------*/
34 
35 #ifndef sortEdgesIntoChains_H
36 #define sortEdgesIntoChains_H
37 
38 #include "DynList.H"
39 #include "labelList.H"
40 #include "edge.H"
41 #include "Map.H"
42 
43 namespace Foam
44 {
45 
46 /*---------------------------------------------------------------------------*\
47  Class sortEdgesIntoChains Declaration
48 \*---------------------------------------------------------------------------*/
49 
51 {
52  // Members
53  const DynList<edge>& bEdges_;
54 
55  bool openEdges_;
56 
58 
60 
62 
63  // Private member functions
64  void createNodeLabels();
65 
67  (
68  const label currPos,
69  DynList<bool>& chainEdges
70  ) const;
71 
72  void shrinkEdges(const DynList<bool>& chainEdges);
73 
74  void createChainFromEdges(const DynList<bool>& chainEdges);
75 
76  void sortEdges();
77 
78  public:
79 
81  (
82  const DynList<edge>& bEdges
83  );
84 
86 
87  // Member functions
88 
89  //- a list of points which have not yet been resolved
90  const DynList<DynList<label> >& sortedChains() const;
91 };
92 
93 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
94 
95 } // End namespace Foam
96 
97 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
98 
99 #endif
100 
101 // ************************************************************************* //
Foam::sortEdgesIntoChains::~sortEdgesIntoChains
~sortEdgesIntoChains()
Definition: sortEdgesIntoChains.C:259
Foam::sortEdgesIntoChains::newNodeLabel_
Map< label > newNodeLabel_
Definition: sortEdgesIntoChains.H:56
Foam::sortEdgesIntoChains::sortedChains
const DynList< DynList< label > > & sortedChains() const
a list of points which have not yet been resolved
Definition: sortEdgesIntoChains.C:264
Foam::Map< label >
Foam::sortEdgesIntoChains::bEdges_
const DynList< edge > & bEdges_
Definition: sortEdgesIntoChains.H:52
Map.H
Foam::label
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59
labelList.H
Foam::sortEdgesIntoChains::createChainFromEdges
void createChainFromEdges(const DynList< bool > &chainEdges)
Definition: sortEdgesIntoChains.C:171
Foam::sortEdgesIntoChains::edgesAtPoint_
DynList< DynList< label > > edgesAtPoint_
Definition: sortEdgesIntoChains.H:58
Foam::sortEdgesIntoChains::sortEdgesIntoChains
sortEdgesIntoChains(const DynList< edge > &bEdges)
Definition: sortEdgesIntoChains.C:248
Foam::sortEdgesIntoChains::createdChains_
DynList< DynList< label > > createdChains_
Definition: sortEdgesIntoChains.H:60
Foam::sortEdgesIntoChains::openEdges_
bool openEdges_
Definition: sortEdgesIntoChains.H:54
Foam
Namespace for OpenFOAM.
Definition: combustionModel.C:30
Foam::DynList
Definition: DynList.H:53
edge.H
Foam::sortEdgesIntoChains::sortEdges
void sortEdges()
Definition: sortEdgesIntoChains.C:229
Foam::sortEdgesIntoChains::findPointsBelongingToTheChain
bool findPointsBelongingToTheChain(const label currPos, DynList< bool > &chainEdges) const
Definition: sortEdgesIntoChains.C:70
Foam::sortEdgesIntoChains
Definition: sortEdgesIntoChains.H:49
Foam::sortEdgesIntoChains::shrinkEdges
void shrinkEdges(const DynList< bool > &chainEdges)
Definition: sortEdgesIntoChains.C:153
Foam::sortEdgesIntoChains::createNodeLabels
void createNodeLabels()
Definition: sortEdgesIntoChains.C:41
DynList.H