meshSurfaceCheckInvertedVertices.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  meshSurfaceCheckInvertedVertices
26 
27 Description
28  Checks if any of the surface is tangled at any of its vertices. This
29  is performed by checking the dot product between the vertex normal and
30  the normals of the faces attached to the vertex.
31 
32 SourceFiles
33  meshSurfaceCheckInvertedVertices.C
34 
35 \*---------------------------------------------------------------------------*/
36 
37 #ifndef meshSurfaceCheckInvertedVertices_H
38 #define meshSurfaceCheckInvertedVertices_H
39 
40 #include "polyMeshGenModifier.H"
41 #include "HashSet.H"
42 
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 
45 namespace Foam
46 {
47 
48 // Forward declarations
50 
51 /*---------------------------------------------------------------------------*\
52  Class meshSurfaceCheckInvertedVertices Declaration
53 \*---------------------------------------------------------------------------*/
54 
56 {
57  // Private data
58  //- mesh surface partitioner
60 
61  //- active surface points
63 
64  //- set of inverted vertices
66 
67  // Private member functions
68  //- check vertices by calculating dot products
69  void checkVertices();
70 
71  //- Disallow default bitwise copy construct
73  (
75  );
76 
77  //- Disallow default bitwise assignment
79 
80 public:
81 
82  // Constructors
83 
84  //- Construct from meshSurfacePartitioner
86  (
88  );
89 
90  //- Construct from meshSurfacePartitioner and a list of active points
92  (
94  const boolList& activePoints
95  );
96 
97  // Destructor
98 
100 
101  // Member Functions
102  //- return the labels of inverted vertices
103  inline const labelHashSet& invertedVertices() const
104  {
105  return invertedVertices_;
106  }
107 };
108 
109 
110 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
111 
112 } // End namespace Foam
113 
114 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115 
116 #endif
117 
118 // ************************************************************************* //
Foam::meshSurfaceCheckInvertedVertices
Definition: meshSurfaceCheckInvertedVertices.H:54
Foam::meshSurfaceCheckInvertedVertices::meshSurfaceCheckInvertedVertices
meshSurfaceCheckInvertedVertices(const meshSurfaceCheckInvertedVertices &)
Disallow default bitwise copy construct.
Foam::meshSurfaceCheckInvertedVertices::invertedVertices
const labelHashSet & invertedVertices() const
return the labels of inverted vertices
Definition: meshSurfaceCheckInvertedVertices.H:102
polyMeshGenModifier.H
Foam::meshSurfaceCheckInvertedVertices::invertedVertices_
labelHashSet invertedVertices_
set of inverted vertices
Definition: meshSurfaceCheckInvertedVertices.H:64
Foam::HashSet< label, Hash< label > >
Foam::meshSurfaceCheckInvertedVertices::surfacePartitioner_
const meshSurfacePartitioner & surfacePartitioner_
mesh surface partitioner
Definition: meshSurfaceCheckInvertedVertices.H:58
Foam::meshSurfaceCheckInvertedVertices::checkVertices
void checkVertices()
check vertices by calculating dot products
Definition: meshSurfaceCheckInvertedVertices.C:48
Foam::meshSurfaceCheckInvertedVertices::~meshSurfaceCheckInvertedVertices
~meshSurfaceCheckInvertedVertices()
Definition: meshSurfaceCheckInvertedVertices.C:435
Foam::meshSurfaceCheckInvertedVertices::activePointsPtr_
const boolList * activePointsPtr_
active surface points
Definition: meshSurfaceCheckInvertedVertices.H:61
meshSurfacePartitioner
Finds corners and edge points at the surface of the volume mesh.
HashSet.H
Foam
Namespace for OpenFOAM.
Definition: combustionModel.C:30
Foam::meshSurfacePartitioner
Definition: meshSurfacePartitioner.H:52
Foam::List
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Definition: HashTable.H:59
Foam::meshSurfaceCheckInvertedVertices::operator=
void operator=(const meshSurfaceCheckInvertedVertices &)
Disallow default bitwise assignment.