Initial commit for version 2.0.x patch release
[OpenFOAM-2.0.x.git] / applications / utilities / mesh / generation / extrude / extrudeToRegionMesh / patchPointEdgeCirculator.C
blob6157073a57b0644e7d2d4234166a1efecece90bb
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2010-2010 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
13     the Free Software Foundation, either version 3 of the License, or
14     (at your 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, see <http://www.gnu.org/licenses/>.
24 \*---------------------------------------------------------------------------*/
26 #include "patchPointEdgeCirculator.H"
28 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
30 const Foam::patchPointEdgeCirculator
31 Foam::patchPointEdgeCirculator::endConstIter
33     *reinterpret_cast<primitiveFacePatch*>(0),  // primitiveFacePatch
34     *reinterpret_cast<PackedBoolList*>(0),      // PackedBoolList
35     -1,                                         // edgeID
36     -1,                                         // index
37     -1                                          // pointID
41 Foam::Ostream& Foam::operator<<
43     Ostream& os,
44     const InfoProxy<patchPointEdgeCirculator>& ip
47     const patchPointEdgeCirculator& c = ip.t_;
49     const pointField& pts = c.patch_.localPoints();
50     const edge& e = c.patch_.edges()[c.edgeID_];
51     label faceI = c.faceID();
53     os  << "around point:" << c.pointID_
54         << " coord:" << pts[c.pointID_]
55         << " at edge:" << c.edgeID_
56         << " coord:" << pts[e.otherVertex(c.pointID_)]
57         << " in direction of face:" << faceI;
59     if (faceI != -1)
60     {
61         os  << " fc:" << c.patch_.localFaces()[faceI].centre(pts);
62     }
63     return os;
67 // ************************************************************************* //