MCPcopy Create free account
hub / github.com/OpenFOAM/OpenFOAM-dev / walkSuperFace

Function walkSuperFace

src/meshTools/cellFeatures/cellFeatures.C:179–216  ·  view source on GitHub ↗

Recursively mark (on toSuperFace) all face reachable across non-feature edges.

Source from the content-addressed store, hash-verified

177// Recursively mark (on toSuperFace) all face reachable across non-feature
178// edges.
179void Foam::cellFeatures::walkSuperFace
180(
181 const label facei,
182 const label superFacei,
183 Map<label>& toSuperFace
184) const
185{
186 if (!toSuperFace.found(facei))
187 {
188 toSuperFace.insert(facei, superFacei);
189
190 const labelList& fEdges = mesh_.faceEdges()[facei];
191
192 forAll(fEdges, fEdgeI)
193 {
194 label edgeI = fEdges[fEdgeI];
195
196 if (!featureEdge_.found(edgeI))
197 {
198 label face0;
199 label face1;
200 meshTools::getEdgeFaces(mesh_, celli_, edgeI, face0, face1);
201
202 if (face0 == facei)
203 {
204 face0 = face1;
205 }
206
207 walkSuperFace
208 (
209 face0,
210 superFacei,
211 toSuperFace
212 );
213 }
214 }
215 }
216}
217
218
219void Foam::cellFeatures::calcSuperFaces() const

Callers 1

calcSuperFacesFunction · 0.85

Calls 4

getEdgeFacesFunction · 0.85
forAllFunction · 0.50
foundMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected