Recursively mark (on toSuperFace) all face reachable across non-feature edges.
| 177 | // Recursively mark (on toSuperFace) all face reachable across non-feature |
| 178 | // edges. |
| 179 | void 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 | |
| 219 | void Foam::cellFeatures::calcSuperFaces() const |
no test coverage detected