BUGFIX: Seg-fault in multiphaseInterFoam. Author: Henrik Rusche. Merge: Hrvoje Jasak
[foam-extend-3.2.git] / src / edgeMesh / edgeMeshIO.C
blobcc54a94d027d83874cc888d3573e26cdf5f18ab0
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     | Version:     3.2
5     \\  /    A nd           | Web:         http://www.foam-extend.org
6      \\/     M anipulation  | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
8 License
9     This file is part of foam-extend.
11     foam-extend is free software: you can redistribute it and/or modify it
12     under the terms of the GNU General Public License as published by the
13     Free Software Foundation, either version 3 of the License, or (at your
14     option) any later version.
16     foam-extend is distributed in the hope that it will be useful, but
17     WITHOUT ANY WARRANTY; without even the implied warranty of
18     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19     General Public License for more details.
21     You should have received a copy of the GNU General Public License
22     along with foam-extend.  If not, see <http://www.gnu.org/licenses/>.
24 \*---------------------------------------------------------------------------*/
26 #include "edgeMesh.H"
27 #include "IFstream.H"
30 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
32 // construct from file
33 Foam::edgeMesh::edgeMesh(const fileName& fname)
35     points_(0),
36     edges_(0),
37     pointEdgesPtr_(NULL)
39     IFstream is(fname);
41     if (is.good())
42     {
43         is >> points_ >> edges_;
44     }
45     else
46     {
47         FatalErrorIn("edgeMesh::edgeMesh(const fileName&)")
48             << "cannot open file " << fname
49             << abort(FatalError);
50     }
54 // construct from Istream
55 Foam::edgeMesh::edgeMesh(Istream& is)
57     points_(is),
58     edges_(is),
59     pointEdgesPtr_(NULL)
61     // Check state of Istream
62     is.check("edgeMesh::edgeMesh(Istream&)");
66 // * * * * * * * * * * * * * * * IOstream Operators  * * * * * * * * * * * * //
68 Foam::Ostream& Foam::operator<<(Ostream& os, const edgeMesh& em)
70     os  << em.points_ << nl << em.edges_ << endl;
72     // Check state of Ostream
73     os.check("Ostream& operator<<(Ostream&, const edgeMesh&)");
75     return os;
79 Foam::Istream& Foam::operator>>(Istream& is, edgeMesh& em)
81     is >> em.points_ >> em.edges_;
83     // Check state of Istream
84     is.check("Istream& operator>>(Istream&, edgeMesh&)");
86     return is;
90 // ************************************************************************* //