OpenFOAM
v2406
The open source CFD toolbox
extendedEdgeMeshFormat.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-2017 OpenFOAM Foundation
9
Copyright (C) 2019 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 "
extendedEdgeMeshFormat.H
"
30
#include "
IFstream.H
"
31
#include "
Time.H
"
32
#include "
extendedFeatureEdgeMesh.H
"
33
34
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
35
36
Foam::fileFormats::extendedEdgeMeshFormat::extendedEdgeMeshFormat
37
(
38
const
fileName
& filename
39
)
40
{
41
read
(filename);
42
}
43
44
45
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
46
47
bool
Foam::fileFormats::extendedEdgeMeshFormat::read
48
(
49
const
fileName
& filename
50
)
51
{
52
clear
();
53
54
// Use dummy Time for objectRegistry
55
autoPtr<Time>
dummyTimePtr(
Time::New
());
56
57
// Construct IOobject to re-use the headerOk & readHeader
58
// (so we can read ascii and binary)
59
IOobject
io
60
(
61
filename,
62
*dummyTimePtr,
63
IOobject::NO_READ
,
64
IOobject::NO_WRITE
,
65
IOobject::NO_REGISTER
66
);
67
68
if
(!
io
.typeHeaderOk<
extendedFeatureEdgeMesh
>(
false
))
69
{
70
FatalErrorInFunction
71
<<
"Cannot read file "
<< filename
72
<<
exit
(
FatalError
);
73
}
74
75
const
fileName
fName(
io
.typeFilePath<
extendedFeatureEdgeMesh
>());
76
77
autoPtr<IFstream>
isPtr(
new
IFstream
(fName));
78
bool
ok =
false
;
79
if
(isPtr().good())
80
{
81
Istream
& is = isPtr();
82
ok =
io
.readHeader(is);
83
84
if
(ok)
85
{
86
// Use extendedEdgeMesh IO
87
is >> *
this
;
88
ok = is.
good
();
89
}
90
}
91
92
return
ok;
93
}
94
95
96
// ************************************************************************* //
Foam::extendedFeatureEdgeMesh
extendedEdgeMesh + IO.
Definition:
extendedFeatureEdgeMesh.H:52
extendedEdgeMeshFormat.H
Foam::fileName
A class for handling file names.
Definition:
fileName.H:72
Foam::exit
errorManipArg< error, int > exit(error &err, const int errNo=1)
Definition:
errorManip.H:125
Foam::FatalError
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
Time.H
FatalErrorInFunction
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Definition:
error.H:608
Foam::Istream
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Definition:
Istream.H:57
Foam::Time::New
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
Definition:
TimeNew.C:26
Foam::fileFormats::extendedEdgeMeshFormat::read
virtual bool read(const fileName &)
Read from file.
Definition:
extendedEdgeMeshFormat.C:41
Foam::IOobjectOption::NO_WRITE
Ignore writing from objectRegistry::writeObject()
Definition:
IOobjectOption.H:86
extendedFeatureEdgeMesh.H
IFstream.H
Foam::IFstream
Input from file stream as an ISstream, normally using std::ifstream for the actual input...
Definition:
IFstream.H:51
Foam::IOstream::good
bool good() const noexcept
True if next operation might succeed.
Definition:
IOstream.H:281
clear
surface1 clear()
Foam::IOobjectOption::NO_READ
Nothing to be read.
Definition:
IOobjectOption.H:60
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Definition:
HashPtrTable.H:48
io
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER)
Foam::IOobject
Defines the attributes of an object for which implicit objectRegistry management is supported...
Definition:
IOobject.H:180
Foam::IOobjectOption::NO_REGISTER
Do not request registration (bool: false)
Definition:
IOobjectOption.H:99
src
meshTools
edgeMesh
extendedEdgeMesh
extendedEdgeMeshFormat.C
Generated by
1.8.14