Go to the documentation of this file.
51 label faceI = changedFaces[i];
53 const labelList& fEdges = pp_.faceEdges()[faceI];
57 label edgeI = fEdges[fEdgeI];
59 if (!borderEdge_[edgeI] && (edgeRegion[edgeI] == -1))
61 edgeRegion[edgeI] = nZones_;
63 changedEdges[changedI++] = edgeI;
82 label edgeI = changedEdges[i];
88 label faceI = eFaces[eFaceI];
90 if (
operator[](faceI) == -1)
94 changedFaces[changedI++] = faceI;
118 changedEdges = faceToEdge(changedFaces, edgeZone);
122 Info<<
"From changedFaces:" << changedFaces.
size()
123 <<
" to changedEdges:" << changedEdges.
size()
127 if (changedEdges.empty())
132 changedFaces = edgeToFace(changedEdges);
136 Info<<
"From changedEdges:" << changedEdges.
size()
137 <<
" to changedFaces:" << changedFaces.
size()
141 if (changedEdges.empty())
160 borderEdge_(borderEdge),
166 if (borderEdge.
size() != pp_.nEdges())
170 "patchZones::patchZones(const primitivePatch&, const boolList&)"
171 ) <<
"borderEdge boolList not same size as number of edges" <<
endl
172 <<
"borderEdge:" << borderEdge.
size() <<
endl
173 <<
"nEdges :" << pp_.nEdges()
182 for (; faceI < pp_.size(); faceI++)
184 if (
operator[](faceI) == -1)
186 operator[](faceI) = nZones_;
194 if (faceI == pp_.size())
const labelListList & edgeFaces() const
Return edge-face addressing.
List< label > labelList
A List of labels.
defineTypeNameAndDebug(Foam::patchZones, 0)
#define forAll(list, i)
Loop across all elements in list.
void markZone(label faceI)
Fill *this with current zone for every face reachable.
patchZones(const primitivePatch &pp, const boolList &borderEdge)
Fills *this with zone of face. Zone is area.
const primitivePatch & pp_
Reference to patch.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Calculates zone number for every face of patch.
label nZones_
Max number of zones.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
labelList faceToEdge(const labelList &changedFaces, labelList &edgeRegion)
Gets labels of changed faces and propagates them to the edges.
labelList edgeToFace(const labelList &changedEdges)
Reverse of faceToEdge: gets edges and returns faces.
errorManip< error > abort(error &err)
void setSize(const label)
Reset size of List.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
#define FatalErrorIn(functionName)
Report an error message using Foam::FatalError.
void size(const label)
Override size to be inconsistent with allocated storage.
A list of faces which address into the list of points.