Go to the documentation of this file.
38 template<
class BoolListType,
class FaceList,
class Po
intField>
42 const BoolListType& borderEdge,
44 const label currentZone,
61 label facei = changedFaces[i];
63 const labelList& fEdges = faceEdges[facei];
67 label edgeI = fEdges[fEdgeI];
69 if (!borderEdge[edgeI])
71 const labelList& eFaceLst = edgeFaces[edgeI];
75 label nbrFacei = eFaceLst[j];
80 newChangedFaces.
append(nbrFacei);
82 else if (
faceZone[nbrFacei] != currentZone)
86 <<
" at face " << nbrFacei
87 <<
" connects to zone " << currentZone
88 <<
" at face " << facei
96 if (newChangedFaces.empty())
102 changedFaces.
transfer(newChangedFaces);
107 template<
class BoolListType,
class FaceList,
class Po
intField>
112 const BoolListType& borderEdge,
120 for (label startFacei = 0; startFacei <
faceZone.size();)
123 for (; startFacei <
faceZone.size(); ++startFacei)
128 markZone(
p, borderEdge, startFacei, zoneI,
faceZone);
139 template<
class BoolListType,
class FaceList,
class Po
intField>
144 const BoolListType& includeFaces,
149 const auto& localFaces =
p.localFaces();
151 faceMap.resize(localFaces.size());
158 forAll(localFaces, oldFacei)
160 if (includeFaces[oldFacei])
166 pointUsed.set(localFaces[oldFacei]);
172 pointMap = pointUsed.sortedToc();
176 template<
class FaceList,
class Po
intField>
186 const PointField&
points =
p.points();
191 bb = boundBox::invertedBox;
193 for (
const auto&
f :
p)
195 for (
const label pointi :
f)
197 if (pointUsed.set(pointi))
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
void append(const T &val)
Append an element at the end of the list.
#define forAll(list, i)
Loop across all elements in list.
A subset of mesh faces organised as a primitive patch.
void setSize(const label n)
Alias for resize()
void transfer(List< T > &list)
errorManip< error > abort(error &err)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
void clear()
Clear the list, i.e. set size to zero.
A bounding box defined in terms of min/max extrema points.
A list of faces which address into the list of points.
void add(const boundBox &bb)
Extend to include the second box.