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 "triSurfFeatureEdges.H"
37 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
39 inline label triSurfFeatureEdges::nFeatureEdges() const
41 return featureEdges_.size();
44 inline const edgeLongList& triSurfFeatureEdges::featureEdges() const
49 inline void triSurfFeatureEdges::appendFeatureEdge(const edge& e)
51 featureEdges_.append(e);
54 inline void triSurfFeatureEdges::addEdgeToSubset
60 Map<meshSubset>::iterator it = featureEdgeSubsets_.find(setI);
61 if( it == featureEdgeSubsets_.end() )
67 inline void triSurfFeatureEdges::removeEdgeFromSubset
73 Map<meshSubset>::iterator it = featureEdgeSubsets_.find(setI);
74 if( it == featureEdgeSubsets_.end() )
77 it().removeElement(eI);
80 inline void triSurfFeatureEdges::edgeInSubsets
83 DynList<label>& edgeSubsets
95 if( it().contains(eI) )
96 edgeSubsets.append(it.key());
100 inline void triSurfFeatureEdges::edgeSubsetIndices
102 DynList<label>& indices
113 indices.append(it.key());
116 template<class ListType>
117 inline void triSurfFeatureEdges::edgesInSubset
125 Map<meshSubset>::const_iterator it = featureEdgeSubsets_.find(setI);
126 if( it == featureEdgeSubsets_.end() )
129 it().containedElements(edgeLabels);
132 template<class ListType>
133 inline void triSurfFeatureEdges::updateEdgeSubsets
135 const ListType& newEdgeLabels
140 Map<meshSubset>::iterator it=featureEdgeSubsets_.begin();
141 it!=featureEdgeSubsets_.end();
144 it().updateSubset(newEdgeLabels);
148 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
150 } // End namespace Foam
152 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //