OpenFOAM: API Guide
v2112
The open source CFD toolbox
searchableSurface.C
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) 2011-2015 OpenFOAM Foundation
9
Copyright (C) 2018-2021 OpenCFD Ltd.
10
-------------------------------------------------------------------------------
11
License
12
This file is part of OpenFOAM.
13
14
OpenFOAM is free software: you can redistribute it and/or modify it
15
under the terms of the GNU General Public License as published by
16
the Free Software Foundation, either version 3 of the License, or
17
(at your option) any later version.
18
19
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22
for more details.
23
24
You should have received a copy of the GNU General Public License
25
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27
\*---------------------------------------------------------------------------*/
28
29
#include "
searchableSurface.H
"
30
31
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
32
33
namespace
Foam
34
{
35
defineTypeNameAndDebug
(
searchableSurface
, 0);
36
defineRunTimeSelectionTable
(
searchableSurface
,
dict
);
37
}
38
39
40
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41
42
Foam::autoPtr<Foam::searchableSurface>
Foam::searchableSurface::New
43
(
44
const
word
& searchableSurfaceType,
45
const
IOobject
&
io
,
46
const
dictionary
&
dict
47
)
48
{
49
auto
* ctorPtr = dictConstructorTable(searchableSurfaceType);
50
51
if
(!ctorPtr)
52
{
53
FatalIOErrorInLookup
54
(
55
dict
,
56
"searchableSurface"
,
57
searchableSurfaceType,
58
*dictConstructorTablePtr_
59
) <<
exit
(
FatalIOError
);
60
}
61
62
return
autoPtr<searchableSurface>
(ctorPtr(
io
,
dict
));
63
}
64
65
66
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
67
68
Foam::searchableSurface::searchableSurface
(
const
IOobject
&
io
)
69
:
70
regIOobject
(
io
)
71
{}
72
73
74
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
75
76
bool
Foam::searchableSurface::hasVolumeType
()
const
77
{
78
return
false
;
79
}
80
81
82
void
Foam::searchableSurface::findNearest
83
(
84
const
pointField
&
sample
,
85
const
scalarField
& nearestDistSqr,
86
List<pointIndexHit>
& info,
87
vectorField
& normal,
88
labelList
& region
89
)
const
90
{
91
findNearest(
sample
, nearestDistSqr, info);
92
getNormal(info, normal);
93
getRegion(info, region);
94
}
95
96
97
// ************************************************************************* //
Foam::Field< vector >
sample
Minimal example by using system/controlDict.functions:
Foam::IOobject
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Definition:
IOobject.H:170
Foam::List
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Definition:
List.H:77
Foam::Time::New
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
Definition:
Time.C:717
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition:
autoPtr.H:66
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition:
dictionary.H:126
Foam::regIOobject
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
Definition:
regIOobject.H:76
Foam::searchableSurface
Base class of (analytical or triangulated) surface. Encapsulates all the search routines....
Definition:
searchableSurface.H:72
Foam::searchableSurface::findNearest
virtual void findNearest(const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &) const =0
Foam::searchableSurface::hasVolumeType
virtual bool hasVolumeType() const
Whether supports volume type (below).
Definition:
searchableSurface.C:76
Foam::word
A class for handling words, derived from Foam::string.
Definition:
word.H:68
defineTypeNameAndDebug
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
Definition:
className.H:121
FatalIOErrorInLookup
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
Definition:
error.H:478
io
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, false)
Foam
Namespace for OpenFOAM.
Definition:
atmBoundaryLayer.C:34
Foam::FatalIOError
IOerror FatalIOError
Foam::exit
errorManipArg< error, int > exit(error &err, const int errNo=1)
Definition:
errorManip.H:130
defineRunTimeSelectionTable
#define defineRunTimeSelectionTable(baseType, argNames)
Define run-time selection table.
Definition:
runTimeSelectionTables.H:374
searchableSurface.H
dict
dictionary dict
Definition:
searchingEngine.H:14
src
meshTools
searchableSurfaces
searchableSurface
searchableSurface.C
Generated by
1.9.5
OPENFOAM® is a registered
trademark
of OpenCFD Ltd.