Home
Downloads
Documentation
Installation
User Guide
man-pages
API Documentation
README
Release Notes
Changes
License
Support
SourceForge Project
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
OpenFOAM
meshes
meshShapes
cellMatcher
hexMatcher.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 | Copyright (C) 1991-2010 OpenCFD Ltd.
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
License
9
This file is part of OpenFOAM.
10
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
13
the Free Software Foundation, either version 3 of the License, or
14
(at your option) any later version.
15
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
19
for more details.
20
21
You should have received a copy of the GNU General Public License
22
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23
24
Class
25
Foam::hexMatcher
26
27
Description
28
A cellMatcher for hex cells
29
30
See Also
31
cellMatcher
32
33
SourceFiles
34
hexMatcher.C
35
36
\*---------------------------------------------------------------------------*/
37
38
#ifndef hexMatcher_H
39
#define hexMatcher_H
40
41
#include <
OpenFOAM/cellMatcher.H
>
42
43
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44
45
namespace
Foam
46
{
47
48
/*---------------------------------------------------------------------------*\
49
Class hexMatcher Declaration
50
\*---------------------------------------------------------------------------*/
51
52
class
hexMatcher
53
:
54
public
cellMatcher
55
{
56
// Static data members
57
58
//- constants for this shape
59
static
const
label vertPerCell;
60
static
const
label facePerCell;
61
static
const
label maxVertPerFace;
62
63
64
// Private Member Functions
65
66
//- Disallow default bitwise copy construct
67
hexMatcher
(
const
hexMatcher
&);
68
69
//- Disallow default bitwise assignment
70
void
operator=(
const
hexMatcher
&);
71
72
73
public
:
74
75
// Constructors
76
77
//- Construct null
78
hexMatcher
();
79
80
// Destructor
81
82
~hexMatcher
();
83
84
85
// Member Functions
86
87
virtual
label
nVertPerCell
()
const
88
{
89
return
vertPerCell;
90
}
91
92
virtual
label
nFacePerCell
()
const
93
{
94
return
facePerCell;
95
}
96
97
virtual
label
nMaxVertPerFace
()
const
98
{
99
return
maxVertPerFace;
100
}
101
102
virtual
label
faceHashValue
()
const
;
103
104
virtual
bool
faceSizeMatch
(
const
faceList
&,
const
labelList
&)
const
;
105
106
virtual
bool
matchShape
107
(
108
const
bool
checkOnly,
109
const
faceList
& faces,
110
const
labelList
& faceOwner,
111
const
label cellI,
112
const
labelList
& myFaces
113
);
114
115
virtual
bool
isA
(
const
primitiveMesh
&
mesh
,
const
label cellI);
116
117
virtual
bool
isA
(
const
faceList
&);
118
119
virtual
bool
matches
120
(
121
const
primitiveMesh
&
mesh
,
122
const
label cellI,
123
cellShape
& shape
124
);
125
};
126
127
128
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
129
130
}
// End namespace Foam
131
132
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
133
134
#endif
135
136
// ************************ vim: set sw=4 sts=4 et: ************************ //