38 template<
class>
class FaceList,
48 Info<<
"PrimitivePatch<Face, FaceList, PointField, PointType>::"
49 <<
"calcEdgeLoops() : "
50 <<
"calculating boundary edge loops"
59 <<
"edge loops already calculated"
63 const edgeList& patchEdges = edges();
64 label nIntEdges = nInternalEdges();
65 label nBdryEdges = patchEdges.size() - nIntEdges;
94 label currentEdgeI = -1;
96 for (
label edgeI = nIntEdges; edgeI < patchEdges.size(); edgeI++)
98 if (loopNumber[edgeI-nIntEdges] == -1)
100 currentEdgeI = edgeI;
105 if (currentEdgeI == -1)
112 DynamicList<label> loop(nBdryEdges);
115 label currentVertI = patchEdges[currentEdgeI].start();
119 loop.append(currentVertI);
121 loopNumber[currentEdgeI - nIntEdges] = loopI;
124 currentVertI = patchEdges[currentEdgeI].otherVertex(currentVertI);
127 const labelList& curEdges = patchPointEdges[currentVertI];
133 label edgeI = curEdges[pI];
135 if (edgeI >= nIntEdges && (loopNumber[edgeI - nIntEdges] == -1))
138 currentEdgeI = edgeI;
144 while (currentEdgeI != -1);
147 edgeLoops[loopI].transfer(loop);
152 edgeLoops.setSize(loopI);
156 Info<<
"PrimitivePatch<Face, FaceList, PointField, PointType>::"
157 <<
"calcEdgeLoops() : "
158 <<
"finished calculating boundary edge loops"
167 template<
class>
class FaceList,
180 return *edgeLoopsPtr_;