initial commit for version 1.6.x patch release
[OpenFOAM-1.6.x.git] / src / meshTools / sets / faceSources / boundaryToFace / boundaryToFace.C
blobaaf7ebee0cb4221e14e1387d8bb5e229b4ecfa4c
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-2009 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 "boundaryToFace.H"
30 #include "polyMesh.H"
32 #include "addToRunTimeSelectionTable.H"
34 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
36 namespace Foam
39 defineTypeNameAndDebug(boundaryToFace, 0);
41 addToRunTimeSelectionTable(topoSetSource, boundaryToFace, word);
43 addToRunTimeSelectionTable(topoSetSource, boundaryToFace, istream);
48 Foam::topoSetSource::addToUsageTable Foam::boundaryToFace::usage_
50     boundaryToFace::typeName,
51     "\n    Usage: boundaryToFace\n\n"
52     "    Select all boundary faces\n\n"
56 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
58 void Foam::boundaryToFace::combine(topoSet& set, const bool add) const
60     for
61     (
62         label faceI = mesh().nInternalFaces();
63         faceI < mesh().nFaces();
64         faceI++
65     )
66     {
67         addOrDelete(set, faceI, add);
68     }
72 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
74 // Construct from components
75 Foam::boundaryToFace::boundaryToFace(const polyMesh& mesh)
77     topoSetSource(mesh)
81 // Construct from dictionary
82 Foam::boundaryToFace::boundaryToFace(const polyMesh& mesh, const dictionary&)
84     topoSetSource(mesh)
88 // Construct from Istream
89 Foam::boundaryToFace::boundaryToFace
91     const polyMesh& mesh,
92     Istream& is
95     topoSetSource(mesh)
99 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
101 Foam::boundaryToFace::~boundaryToFace()
105 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
107 void Foam::boundaryToFace::applyToSet
109     const topoSetSource::setAction action,
110     topoSet& set
111 ) const
113     if ((action == topoSetSource::NEW) || (action == topoSetSource::ADD))
114     {
115         Info<< "    Adding all boundary faces ..." << endl;
117         combine(set, true);
118     }
119     else if (action == topoSetSource::DELETE)
120     {
121         Info<< "    Removing all boundary faces ..." << endl;
123         combine(set, false);
124     }
128 // ************************************************************************* //