meshSurfaceCheckEdgeTypes.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  meshSurfaceCheckEdgeTypes
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  meshSurfaceCheckEdgeTypes.C
34 
35 \*---------------------------------------------------------------------------*/
36 
37 #ifndef meshSurfaceCheckEdgeTypes_H
38 #define meshSurfaceCheckEdgeTypes_H
39 
40 #include "polyMeshGenModifier.H"
41 
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 
44 namespace Foam
45 {
46 
47 // Forward declarations
48 class meshSurfaceEngine;
49 
50 /*---------------------------------------------------------------------------*\
51  Class meshSurfaceCheckEdgeTypes Declaration
52 \*---------------------------------------------------------------------------*/
53 
55 {
56  // Private data
57  //- mesh surface
59 
60  //- a list which classifies each edge
62 
63  // Private member functions
64  //- check feature edges and classify them
65  void classifyEdges();
66 
67  //- Disallow default bitwise copy construct
69  (
71  );
72 
73  //- Disallow default bitwise assignment
75 
76 public:
77 
78  // Enumerators
79 
80  enum edgeTypes_
81  {
82  NONE = 0,
83  PATCHEDGE = 1,
87  UNDETERMINED = 16
88  };
89 
90  // Constructors
91 
92  //- Construct from meshSurfaceEngine
94 
95  // Destructor
96 
98 
99  // Member Functions
100  //- return the information about classified edges
101  const List<direction>& edgeTypes() const
102  {
103  return edgeType_;
104  }
105 
106  //- return indices of convex edges
108 
109  //- return indices of concave edges
111 };
112 
113 
114 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115 
116 } // End namespace Foam
117 
118 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
119 
120 #endif
121 
122 // ************************************************************************* //
Foam::meshSurfaceCheckEdgeTypes::surfaceEngine_
const meshSurfaceEngine & surfaceEngine_
mesh surface
Definition: meshSurfaceCheckEdgeTypes.H:57
Foam::meshSurfaceCheckEdgeTypes::CONCAVEEDGE
@ CONCAVEEDGE
Definition: meshSurfaceCheckEdgeTypes.H:85
meshSurfaceEngine
Calculates surface of the mesh.
Foam::meshSurfaceCheckEdgeTypes::CONVEXEDGE
@ CONVEXEDGE
Definition: meshSurfaceCheckEdgeTypes.H:84
Foam::meshSurfaceCheckEdgeTypes::meshSurfaceCheckEdgeTypes
meshSurfaceCheckEdgeTypes(const meshSurfaceCheckEdgeTypes &)
Disallow default bitwise copy construct.
Foam::meshSurfaceCheckEdgeTypes::edgeType_
List< direction > edgeType_
a list which classifies each edge
Definition: meshSurfaceCheckEdgeTypes.H:60
polyMeshGenModifier.H
Foam::meshSurfaceCheckEdgeTypes::edgeTypes
const List< direction > & edgeTypes() const
return the information about classified edges
Definition: meshSurfaceCheckEdgeTypes.H:100
Foam::meshSurfaceCheckEdgeTypes::UNDETERMINED
@ UNDETERMINED
Definition: meshSurfaceCheckEdgeTypes.H:86
Foam::LongList< label >
Foam::meshSurfaceCheckEdgeTypes::convexEdges
void convexEdges(labelLongList &convexEdges) const
return indices of convex edges
Definition: meshSurfaceCheckEdgeTypes.C:330
Foam::meshSurfaceCheckEdgeTypes::edgeTypes_
edgeTypes_
Definition: meshSurfaceCheckEdgeTypes.H:79
Foam::meshSurfaceCheckEdgeTypes::PATCHEDGE
@ PATCHEDGE
Definition: meshSurfaceCheckEdgeTypes.H:82
Foam::meshSurfaceCheckEdgeTypes::classifyEdges
void classifyEdges()
check feature edges and classify them
Definition: meshSurfaceCheckEdgeTypes.C:51
Foam::meshSurfaceCheckEdgeTypes
Definition: meshSurfaceCheckEdgeTypes.H:53
Foam
Namespace for OpenFOAM.
Definition: combustionModel.C:30
Foam::meshSurfaceCheckEdgeTypes::~meshSurfaceCheckEdgeTypes
~meshSurfaceCheckEdgeTypes()
Definition: meshSurfaceCheckEdgeTypes.C:325
Foam::List< direction >
Foam::meshSurfaceCheckEdgeTypes::concaveEdges
void concaveEdges(labelLongList &concaveEdges) const
return indices of concave edges
Definition: meshSurfaceCheckEdgeTypes.C:341
Foam::meshSurfaceCheckEdgeTypes::operator=
void operator=(const meshSurfaceCheckEdgeTypes &)
Disallow default bitwise assignment.
Foam::meshSurfaceCheckEdgeTypes::NONE
@ NONE
Definition: meshSurfaceCheckEdgeTypes.H:81
Foam::meshSurfaceEngine
Definition: meshSurfaceEngine.H:54
Foam::meshSurfaceCheckEdgeTypes::FEATUREEDGE
@ FEATUREEDGE
Definition: meshSurfaceCheckEdgeTypes.H:83