1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | cfMesh: A library for mesh generation
5 \\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
6 \\/ M anipulation | Copyright (C) Creative Fields, Ltd.
7 -------------------------------------------------------------------------------
9 This file is part of cfMesh.
11 cfMesh 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 cfMesh 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
21 You should have received a copy of the GNU General Public License
22 along with cfMesh. If not, see <http://www.gnu.org/licenses/>.
27 \*---------------------------------------------------------------------------*/
30 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
32 #include "triSurfPoints.H"
37 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
39 inline label triSurfPoints::nPoints() const
41 return points_.size();
44 inline const pointField& triSurfPoints::points() const
49 inline void triSurfPoints::appendVertex(const point& p)
51 const label s = points_.size();
56 inline void triSurfPoints::addPointToSubset
62 Map<meshSubset>::iterator it = pointSubsets_.find(setI);
63 if( it == pointSubsets_.end() )
66 it().addElement(pointI);
69 inline void triSurfPoints::removePointFromSubset
75 Map<meshSubset>::iterator it = pointSubsets_.find(setI);
76 if( it == pointSubsets_.end() )
79 it().removeElement(pointI);
82 inline void triSurfPoints::pointInSubsets
85 DynList<label>& pointSubsets
97 if( it().contains(pointI) )
98 pointSubsets.append(it.key());
102 inline void triSurfPoints::pointSubsetIndices(DynList<label>& indices) const
112 indices.append(it.key());
115 template<class ListType>
116 inline void triSurfPoints::pointsInSubset
119 ListType& pointLabels
124 Map<meshSubset>::const_iterator it =
125 pointSubsets_.find(setI);
126 if( it == pointSubsets_.end() )
129 it().containedElements(pointLabels);
132 template<class ListType>
133 inline void triSurfPoints::updatePointSubsets(const ListType& newNodeLabels)
137 Map<meshSubset>::iterator it=pointSubsets_.begin();
138 it!=pointSubsets_.end();
141 it().updateSubset(newNodeLabels);
144 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
146 } // End namespace Foam
148 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //