Merge branch 'master' of ssh://opencfd@repo.or.cz/srv/git/OpenFOAM-1.5.x
[OpenFOAM-1.5.x.git] / src / triSurface / tools / labelledTri / labelledTriI.H
blob43195124acdcea4b6de4a94bbdf41b55e5f0c4be
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-2008 OpenCFD Ltd.
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
11     OpenFOAM 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 2 of the License, or (at your
14     option) any later version.
16     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
19     for more details.
21     You should have received a copy of the GNU General Public License
22     along with OpenFOAM; if not, write to the Free Software Foundation,
23     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 Description
27 \*---------------------------------------------------------------------------*/
29 #include "IOstreams.H"
31 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
33 namespace Foam
36 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
38 //- Construct null
39 inline labelledTri::labelledTri()
41     region_(-1)
45 //- Construct from components
46 inline labelledTri::labelledTri
48     const label A,
49     const label B,
50     const label C,
51     const label region
54     triFace(A, B, C),
55     region_(region)
59 inline labelledTri::labelledTri(Istream& is)
61     // Read beginning of labelledTri point pair
62     is.readBegin("labelledTri");
64     is >> static_cast<triFace&>(*this) >> region_;
66     // Read end of labelledTri point pair
67     is.readEnd("labelledTri");
69     // Check state of Istream
70     is.check("labelledTri::labelledTri(Istream& is)");
74 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
76 inline label labelledTri::region() const
78     return region_;
81 inline label& labelledTri::region()
83     return region_;
87 // * * * * * * * * * * * * * * * Ostream Operator  * * * * * * * * * * * * * //
89 inline Istream& operator>>(Istream& is, labelledTri& t)
91     // Read beginning of labelledTri point pair
92     is.readBegin("labelledTri");
94     is  >> static_cast<triFace&>(t) >> t.region_;
96     // Read end of labelledTri point pair
97     is.readEnd("labelledTri");
99     // Check state of Ostream
100     is.check("Istream& operator>>(Istream&, labelledTri&)");
102     return is;
106 inline Ostream& operator<<(Ostream& os, const labelledTri& t)
108     os  << token::BEGIN_LIST
109         << static_cast<const triFace&>(t) << token::SPACE << t.region_
110         << token::END_LIST;
112     return os;
116 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
118 } // End namespace Foam
120 // ************************************************************************* //