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/>.
28 Point coordinates information for triangulated surface
33 \*---------------------------------------------------------------------------*/
35 #ifndef triSurfPoints_H
36 #define triSurfPoints_H
38 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
40 #include "meshSubset.H"
41 #include "pointField.H"
48 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
58 //- map of point subsets
59 Map<meshSubset> pointSubsets_;
61 // Disallow bitwise assignment
62 void operator=(const triSurfPoints&);
64 triSurfPoints(const triSurfPoints&);
72 //- Construct from vertices
73 triSurfPoints(const pointField& points);
79 //- return the number of points
80 inline label nPoints() const;
83 inline const pointField& points() const;
85 //- append a vertex to the end of the list
86 inline void appendVertex(const point& p);
89 label addPointSubset(const word&);
90 void removePointSubset(const label);
91 word pointSubsetName(const label) const;
92 label pointSubsetIndex(const word&) const;
93 inline void addPointToSubset(const label, const label);
94 inline void removePointFromSubset(const label, const label);
95 inline void pointInSubsets(const label, DynList<label>&) const;
96 inline void pointSubsetIndices(DynList<label>&) const;
97 template<class ListType>
98 inline void pointsInSubset(const label, ListType&) const;
99 template<class ListType>
100 inline void updatePointSubsets(const ListType&);
103 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
105 } // End namespace Foam
107 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
109 #include "triSurfPointsI.H"
111 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //