39 template<
class>
class FaceList,
46 const BoolListType& borderEdge,
48 const label currentZone,
65 label facei = changedFaces[i];
67 const labelList& fEdges = faceEdges[facei];
71 label edgeI = fEdges[fEdgeI];
73 if (!borderEdge[edgeI])
75 const labelList& eFaceLst = edgeFaces[edgeI];
79 label nbrFacei = eFaceLst[j];
81 if (faceZone[nbrFacei] == -1)
83 faceZone[nbrFacei] = currentZone;
84 newChangedFaces.
append(nbrFacei);
86 else if (faceZone[nbrFacei] != currentZone)
89 <<
"Zones " << faceZone[nbrFacei]
90 <<
" at face " << nbrFacei
91 <<
" connects to zone " << currentZone
92 <<
" at face " << facei
100 if (newChangedFaces.empty())
106 changedFaces.
transfer(newChangedFaces);
115 template<
class>
class FaceList,
124 const BoolListType& borderEdge,
132 for (
label startFacei = 0; startFacei < faceZone.
size();)
135 for (; startFacei < faceZone.
size(); ++startFacei)
137 if (faceZone[startFacei] == -1)
139 faceZone[startFacei] = zoneI;
140 markZone(p, borderEdge, startFacei, zoneI, faceZone);
155 template<
class>
class FaceList,
164 const BoolListType& includeFaces,
181 if (includeFaces[oldFacei])
184 faceMap[facei++] = oldFacei;
187 const Face&
f = localFaces[oldFacei];
191 const label ptLabel = f[fp];
192 if (!pointHad[ptLabel])
194 pointHad[ptLabel] =
true;
195 pointMap[pointi++] = ptLabel;
210 template<
class>
class FaceList,
228 bb = boundBox::invertedBox;
232 const Face&
f = p[facei];
236 label pointi = f[fp];
237 if (pointIsUsed.set(pointi, 1u))
label nPoints() const
Return number of points supporting patch faces.
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
void size(const label)
Override size to be inconsistent with allocated storage.
A bounding box defined in terms of the points at its extremities.
const List< Face > & localFaces() const
Return patch faces addressing into local point list.
A list of faces which address into the list of points.
void append(const T &)
Append an element at the end of the list.
const Field< PointType > & points() const
Return reference to global points.
const labelListList & edgeFaces() const
Return edge-face addressing.
errorManip< error > abort(error &err)
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
void setSize(const label)
Reset size of List.
const point & max() const
Maximum describing the bounding box.
const labelListList & faceEdges() const
Return face-edge addressing.
const point & min() const
Minimum describing the bounding box.
void transfer(List< T > &)
Transfer the contents of the argument List into this list.