40 template<
class>
class FaceList,
57 <<
"edge loops already calculated"
61 const edgeList& patchEdges = edges();
62 label nIntEdges = nInternalEdges();
63 label nBdryEdges = patchEdges.size() - nIntEdges;
92 label currentEdgeI = -1;
94 for (
label edgeI = nIntEdges; edgeI < patchEdges.size(); edgeI++)
96 if (loopNumber[edgeI-nIntEdges] == -1)
103 if (currentEdgeI == -1)
110 DynamicList<label> loop(nBdryEdges);
113 label currentVertI = patchEdges[currentEdgeI].start();
117 loop.append(currentVertI);
119 loopNumber[currentEdgeI - nIntEdges] = loopI;
122 currentVertI = patchEdges[currentEdgeI].otherVertex(currentVertI);
125 const labelList& curEdges = patchPointEdges[currentVertI];
131 label edgeI = curEdges[pI];
133 if (edgeI >= nIntEdges && (loopNumber[edgeI - nIntEdges] == -1))
136 currentEdgeI = edgeI;
142 while (currentEdgeI != -1);
145 edgeLoops[loopI].transfer(loop);
150 edgeLoops.setSize(loopI);
162 template<
class>
class FaceList,
175 return *edgeLoopsPtr_;