pointFeatureEdgesTypes.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2012-2016 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 Class
27  Foam::pointFeatureEdgesTypes
28 
29 Description
30  Holds information on the types of feature edges attached to feature points.
31 
32 SourceFiles
33  pointFeatureEdgesTypes.C
34 
35 \*---------------------------------------------------------------------------*/
36 
37 #ifndef pointFeatureEdgesTypes_H
38 #define pointFeatureEdgesTypes_H
39 
40 #include "HashTable.H"
42 #include "List.H"
43 
44 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 
46 namespace Foam
47 {
48 
49 // Forward declaration of friend functions and operators
50 
51 class pointFeatureEdgesTypes;
52 
53 Ostream& operator<<(Ostream&, const pointFeatureEdgesTypes&);
54 
55 
56 /*---------------------------------------------------------------------------*\
57  Class pointFeatureEdgesTypes Declaration
58 \*---------------------------------------------------------------------------*/
59 
60 //- Hold the types of feature edges attached to the point.
62 :
63  public HashTable<label, extendedFeatureEdgeMesh::edgeStatus, Hash<label>>
64 {
65  // Private data
66 
67  //- Reference to the feature edge mesh
68  const extendedFeatureEdgeMesh& feMesh_;
69 
70  //- Label of the point
71  label pointLabel_;
72 
73 
74 public:
75 
76  // Constructors
77 
78  //- Construct from components
80  (
81  const extendedFeatureEdgeMesh& feMesh,
82  const label pointLabel
83  );
84 
85 
86  //- Destructor
87  ~pointFeatureEdgesTypes() = default;
88 
89 
90  // Member Functions
91 
92  //- Fill the pointFeatureEdgesType class with the types of feature
93  // edges that are attached to the point.
95 
96 
97  // Info
98 
99  friend Ostream& operator<<
100  (
101  Ostream& os,
103  );
104 };
105 
106 
107 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
108 
109 } // End namespace Foam
110 
111 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
112 
113 #endif
114 
115 // ************************************************************************* //
p
volScalarField & p
Definition: createFieldRefs.H:8
List.H
HashTable.H
extendedFeatureEdgeMesh.H
Foam::operator<<
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
Definition: boundaryPatch.C:83
Foam::pointFeatureEdgesTypes::pointFeatureEdgesTypes
pointFeatureEdgesTypes(const extendedFeatureEdgeMesh &feMesh, const label pointLabel)
Construct from components.
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::HashTable
A HashTable similar to std::unordered_map.
Definition: HashTable.H:105
Foam::List
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Definition: BitOps.H:63
Foam::pointFeatureEdgesTypes::calcPointFeatureEdgesTypes
List< extendedFeatureEdgeMesh::edgeStatus > calcPointFeatureEdgesTypes()
Fill the pointFeatureEdgesType class with the types of feature.
Foam::pointFeatureEdgesTypes
Hold the types of feature edges attached to the point.
Definition: pointFeatureEdgesTypes.H:60
Foam::extendedFeatureEdgeMesh
extendedEdgeMesh + IO.
Definition: extendedFeatureEdgeMesh.H:56
Foam::pointFeatureEdgesTypes::~pointFeatureEdgesTypes
~pointFeatureEdgesTypes()=default
Destructor.
Foam::Ostream
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:56