forked from OpenFOAM/OpenFOAM-2.3.x
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
sergio
committed
Oct 14, 2014
1 parent
e1fb817
commit 361ce6b
Showing
5 changed files
with
296 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
159 changes: 159 additions & 0 deletions
159
src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistribute.C
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,159 @@ | ||
/*---------------------------------------------------------------------------*\ | ||
========= | | ||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox | ||
\\ / O peration | | ||
\\ / A nd | Copyright (C) 2014 OpenFOAM Foundation | ||
\\/ M anipulation | | ||
------------------------------------------------------------------------------- | ||
License | ||
This file is part of OpenFOAM. | ||
OpenFOAM is free software: you can redistribute it and/or modify it | ||
under the terms of the GNU General Public License as published by | ||
the Free Software Foundation, either version 3 of the License, or | ||
(at your option) any later version. | ||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT | ||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||
for more details. | ||
You should have received a copy of the GNU General Public License | ||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. | ||
\*---------------------------------------------------------------------------*/ | ||
|
||
#include "IOmapDistribute.H" | ||
|
||
/* * * * * * * * * * * * * * * Static Member Data * * * * * * * * * * * * * */ | ||
|
||
namespace Foam | ||
{ | ||
defineTypeNameAndDebug(IOmapDistribute, 0); | ||
} | ||
|
||
|
||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // | ||
|
||
Foam::IOmapDistribute::IOmapDistribute(const IOobject& io) | ||
: | ||
regIOobject(io) | ||
{ | ||
// Temporary warning | ||
if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED) | ||
{ | ||
WarningIn("IOmapDistribute::IOmapDistribute(const IOobject&)") | ||
<< "IOmapDistribute " << name() | ||
<< " constructed with IOobject::MUST_READ_IF_MODIFIED" | ||
" but IOmapDistribute does not support automatic rereading." | ||
<< endl; | ||
} | ||
|
||
if | ||
( | ||
( | ||
io.readOpt() == IOobject::MUST_READ | ||
|| io.readOpt() == IOobject::MUST_READ_IF_MODIFIED | ||
) | ||
|| (io.readOpt() == IOobject::READ_IF_PRESENT && headerOk()) | ||
) | ||
{ | ||
readStream(typeName) >> *this; | ||
close(); | ||
} | ||
} | ||
|
||
|
||
Foam::IOmapDistribute::IOmapDistribute | ||
( | ||
const IOobject& io, | ||
const mapDistribute& map | ||
) | ||
: | ||
regIOobject(io) | ||
{ | ||
// Temporary warning | ||
if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED) | ||
{ | ||
WarningIn("IOmapDistribute::IOmapDistribute(const IOobject&)") | ||
<< "IOmapDistribute " << name() | ||
<< " constructed with IOobject::MUST_READ_IF_MODIFIED" | ||
" but IOmapDistribute does not support automatic rereading." | ||
<< endl; | ||
} | ||
|
||
if | ||
( | ||
( | ||
io.readOpt() == IOobject::MUST_READ | ||
|| io.readOpt() == IOobject::MUST_READ_IF_MODIFIED | ||
) | ||
|| (io.readOpt() == IOobject::READ_IF_PRESENT && headerOk()) | ||
) | ||
{ | ||
readStream(typeName) >> *this; | ||
close(); | ||
} | ||
else | ||
{ | ||
mapDistribute::operator=(map); | ||
} | ||
} | ||
|
||
|
||
Foam::IOmapDistribute::IOmapDistribute | ||
( | ||
const IOobject& io, | ||
const Xfer<mapDistribute>& map | ||
) | ||
: | ||
regIOobject(io) | ||
{ | ||
// Temporary warning | ||
if (io.readOpt() == IOobject::MUST_READ_IF_MODIFIED) | ||
{ | ||
WarningIn("IOmapDistribute::IOmapDistribute(const IOobject&)") | ||
<< "IOmapDistribute " << name() | ||
<< " constructed with IOobject::MUST_READ_IF_MODIFIED" | ||
" but IOmapDistribute does not support automatic rereading." | ||
<< endl; | ||
} | ||
|
||
mapDistribute::transfer(map()); | ||
|
||
if | ||
( | ||
( | ||
io.readOpt() == IOobject::MUST_READ | ||
|| io.readOpt() == IOobject::MUST_READ_IF_MODIFIED | ||
) | ||
|| (io.readOpt() == IOobject::READ_IF_PRESENT && headerOk()) | ||
) | ||
{ | ||
readStream(typeName) >> *this; | ||
close(); | ||
} | ||
} | ||
|
||
|
||
// * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * * // | ||
|
||
Foam::IOmapDistribute::~IOmapDistribute() | ||
{} | ||
|
||
|
||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // | ||
|
||
bool Foam::IOmapDistribute::readData(Istream& is) | ||
{ | ||
return (is >> *this).good(); | ||
} | ||
|
||
|
||
bool Foam::IOmapDistribute::writeData(Ostream& os) const | ||
{ | ||
return (os << *this).good(); | ||
} | ||
|
||
|
||
// ************************************************************************* // |
98 changes: 98 additions & 0 deletions
98
src/OpenFOAM/meshes/polyMesh/mapPolyMesh/mapDistribute/IOmapDistribute.H
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
/*---------------------------------------------------------------------------*\ | ||
========= | | ||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox | ||
\\ / O peration | | ||
\\ / A nd | Copyright (C) 2014 OpenFOAM Foundation | ||
\\/ M anipulation | | ||
------------------------------------------------------------------------------- | ||
License | ||
This file is part of OpenFOAM. | ||
OpenFOAM is free software: you can redistribute it and/or modify it | ||
under the terms of the GNU General Public License as published by | ||
the Free Software Foundation, either version 3 of the License, or | ||
(at your option) any later version. | ||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT | ||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||
for more details. | ||
You should have received a copy of the GNU General Public License | ||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. | ||
Class | ||
Foam::IOmapDistribute | ||
Description | ||
IOmapDistribute is derived from mapDistribute and | ||
IOobject to give the mapDistribute | ||
automatic IO functionality via the objectRegistry. | ||
SourceFiles | ||
IOmapDistribute.C | ||
\*---------------------------------------------------------------------------*/ | ||
|
||
#ifndef IOmapDistribute_H | ||
#define IOmapDistribute_H | ||
|
||
#include "mapDistribute.H" | ||
#include "regIOobject.H" | ||
|
||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // | ||
|
||
namespace Foam | ||
{ | ||
|
||
/*---------------------------------------------------------------------------*\ | ||
Class IOmapDistribute Declaration | ||
\*---------------------------------------------------------------------------*/ | ||
|
||
class IOmapDistribute | ||
: | ||
public regIOobject, | ||
public mapDistribute | ||
{ | ||
|
||
public: | ||
|
||
//- Runtime type information | ||
TypeName("mapDistribute"); | ||
|
||
// Constructors | ||
|
||
//- Construct given an IOobject | ||
IOmapDistribute(const IOobject&); | ||
|
||
//- Construct given an IOobject and mapDistribute | ||
IOmapDistribute(const IOobject&, const mapDistribute&); | ||
|
||
//- Construct by transferring the mapDistribute contents | ||
IOmapDistribute(const IOobject&, const Xfer<mapDistribute>&); | ||
|
||
|
||
//- Destructor | ||
virtual ~IOmapDistribute(); | ||
|
||
|
||
// Member functions | ||
|
||
//- ReadData function required for regIOobject read operation | ||
virtual bool readData(Istream&); | ||
|
||
//- WriteData function required for regIOobject write operation | ||
virtual bool writeData(Ostream&) const; | ||
|
||
}; | ||
|
||
|
||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // | ||
|
||
} // End namespace Foam | ||
|
||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // | ||
|
||
#endif | ||
|
||
// ************************************************************************* // |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters