39 template<
class>
class FaceList,
48 const BoolListType& borderEdge,
50 const label currentZone,
67 label faceI = changedFaces[i];
69 const labelList& fEdges = faceEdges[faceI];
73 label edgeI = fEdges[fEdgeI];
75 if (!borderEdge[edgeI])
77 const labelList& eFaceLst = edgeFaces[edgeI];
81 label nbrFaceI = eFaceLst[j];
83 if (faceZone[nbrFaceI] == -1)
85 faceZone[nbrFaceI] = currentZone;
86 newChangedFaces.
append(nbrFaceI);
88 else if (faceZone[nbrFaceI] != currentZone)
92 "PatchTools::markZone"
93 "(const boolList&, const label, const label, labelList&)"
95 <<
"Zones " << faceZone[nbrFaceI]
96 <<
" at face " << nbrFaceI
97 <<
" connects to zone " << currentZone
98 <<
" at face " << faceI
106 if (newChangedFaces.empty())
112 changedFaces.
transfer(newChangedFaces);
123 template<
class>
class FaceList,
132 const BoolListType& borderEdge,
140 for (label startFaceI = 0; startFaceI < faceZone.
size();)
143 for (; startFaceI < faceZone.
size(); ++startFaceI)
145 if (faceZone[startFaceI] == -1)
147 faceZone[startFaceI] = zoneI;
148 markZone(p, borderEdge, startFaceI, zoneI, faceZone);
166 template<
class>
class FaceList,
175 const BoolListType& includeFaces,
192 if (includeFaces[oldFaceI])
195 faceMap[faceI++] = oldFaceI;
198 const Face&
f = localFaces[oldFaceI];
202 const label ptLabel = f[fp];
203 if (!pointHad[ptLabel])
205 pointHad[ptLabel] =
true;
206 pointMap[pointI++] = ptLabel;