Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "PrimitivePatch_.H"
00027 #include <OpenFOAM/HashSet.H>
00028
00029
00030
00031
00032 template
00033 <
00034 class Face,
00035 template<class> class FaceList,
00036 class PointField,
00037 class PointType
00038 >
00039 void
00040 Foam::PrimitivePatch<Face, FaceList, PointField, PointType>::
00041 calcBdryPoints() const
00042 {
00043 if (debug)
00044 {
00045 Info<< "PrimitivePatch<Face, FaceList, PointField, PointType>::"
00046 << "calcBdryPoints() : "
00047 << "calculating boundary points"
00048 << endl;
00049 }
00050
00051 if (boundaryPointsPtr_)
00052 {
00053
00054
00055 FatalErrorIn
00056 (
00057 "PrimitivePatch<Face, FaceList, PointField, PointType>::"
00058 "calcBdryPoints()"
00059 ) << "edge types already calculated"
00060 << abort(FatalError);
00061 }
00062
00063 const edgeList& e = edges();
00064
00065 labelHashSet bp(2*e.size());
00066
00067 for (label edgeI = nInternalEdges_; edgeI < e.size(); edgeI++)
00068 {
00069 const edge& curEdge = e[edgeI];
00070
00071 bp.insert(curEdge.start());
00072 bp.insert(curEdge.end());
00073 }
00074
00075 boundaryPointsPtr_ = new labelList(bp.toc());
00076 sort(*boundaryPointsPtr_);
00077
00078 if (debug)
00079 {
00080 Info<< "PrimitivePatch<Face, FaceList, PointField, PointType>::"
00081 << "calcBdryPoints() : "
00082 << "finished calculating boundary points"
00083 << endl;
00084 }
00085 }
00086
00087
00088