38 template<
class>
class FaceList,
48 Info<<
"PrimitivePatch<Face, FaceList, PointField, PointType>::"
49 <<
"calcEdgeLoops() : "
50 <<
"calculating boundary edge loops"
60 "PrimitivePatch<Face, FaceList, PointField, PointType>::"
62 ) <<
"edge loops already calculated"
66 const edgeList& patchEdges = edges();
67 label nIntEdges = nInternalEdges();
68 label nBdryEdges = patchEdges.size() - nIntEdges;
97 label currentEdgeI = -1;
99 for (label edgeI = nIntEdges; edgeI < patchEdges.size(); edgeI++)
101 if (loopNumber[edgeI-nIntEdges] == -1)
103 currentEdgeI = edgeI;
108 if (currentEdgeI == -1)
115 DynamicList<label> loop(nBdryEdges);
118 label currentVertI = patchEdges[currentEdgeI].start();
122 loop.append(currentVertI);
124 loopNumber[currentEdgeI - nIntEdges] = loopI;
127 currentVertI = patchEdges[currentEdgeI].otherVertex(currentVertI);
130 const labelList& curEdges = patchPointEdges[currentVertI];
136 label edgeI = curEdges[pI];
138 if (edgeI >= nIntEdges && (loopNumber[edgeI - nIntEdges] == -1))
141 currentEdgeI = edgeI;
147 while (currentEdgeI != -1);
150 edgeLoops[loopI].transfer(loop);
155 edgeLoops.setSize(loopI);
159 Info<<
"PrimitivePatch<Face, FaceList, PointField, PointType>::"
160 <<
"calcEdgeLoops() : "
161 <<
"finished calculating boundary edge loops"
170 template<
class>
class FaceList,
183 return *edgeLoopsPtr_;