Loading...
Searching...
No Matches
searchableSurfaceFeatures.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) 2013-2015 OpenFOAM Foundation
9 Copyright (C) 2019-2021 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
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
30
31// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
32
33namespace Foam
34{
37}
38
39
40// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41
44(
45 const searchableSurface& surface,
46 const dictionary& dict
47)
48{
49 const word modelType(surface.type() + "Features");
50
51 auto* ctorPtr = dictConstructorTable(modelType);
52
53 if (!ctorPtr)
54 {
56 (
57 dict,
58 "searchableSurfaceFeatures",
59 modelType,
60 *dictConstructorTablePtr_
61 ) << exit(FatalIOError);
62 }
63
64 return autoPtr<searchableSurfaceFeatures>(ctorPtr(surface, dict));
65}
66
67
68// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
69
70Foam::searchableSurfaceFeatures::searchableSurfaceFeatures
71(
72 const searchableSurface& surface,
73 const dictionary& dict
74)
75:
76 surface_(surface),
77 dict_(dict)
78{}
79
80
81// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
82
84{}
85
86
87// ************************************************************************* //
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition autoPtr.H:65
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
Decorator that returns the features of a searchable surface.
static autoPtr< searchableSurfaceFeatures > New(const searchableSurface &surface, const dictionary &dict)
Return a reference to the selected searchableSurfaceFeatures.
const dictionary & dict() const
Return a reference to the dictionary.
virtual ~searchableSurfaceFeatures()
Destructor.
const searchableSurface & surface() const
Return a reference to the searchable surface.
Base class of (analytical or triangulated) surface. Encapsulates all the search routines....
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
Definition className.H:142
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
Definition error.H:637
const wordList surface
Standard surface field types (scalar, vector, tensor, etc).
Namespace for OpenFOAM.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...
errorManipArg< error, int > exit(error &err, const int errNo=1)
Definition errorManip.H:125
#define defineRunTimeSelectionTable(baseType, argNames)
Define run-time selection table.
dictionary dict