| 1966 | |
| 1967 | |
| 1968 | void Foam::boundaryMesh::markFaces |
| 1969 | ( |
| 1970 | const labelList& protectedEdges, |
| 1971 | const label seedFacei, |
| 1972 | boolList& visited |
| 1973 | ) const |
| 1974 | { |
| 1975 | boolList protectedEdge(mesh().nEdges(), false); |
| 1976 | |
| 1977 | forAll(protectedEdges, i) |
| 1978 | { |
| 1979 | protectedEdge[protectedEdges[i]] = true; |
| 1980 | } |
| 1981 | |
| 1982 | |
| 1983 | // Initialize zone for all faces to -1 |
| 1984 | labelList currentZone(mesh().size(), -1); |
| 1985 | |
| 1986 | // Mark with 0 all faces reachable from seedFacei |
| 1987 | markZone(protectedEdge, seedFacei, 0, currentZone); |
| 1988 | |
| 1989 | // Set in visited all reached ones. |
| 1990 | visited.setSize(mesh().size()); |
| 1991 | |
| 1992 | forAll(currentZone, facei) |
| 1993 | { |
| 1994 | if (currentZone[facei] == 0) |
| 1995 | { |
| 1996 | visited[facei] = true; |
| 1997 | } |
| 1998 | else |
| 1999 | { |
| 2000 | visited[facei] = false; |
| 2001 | } |
| 2002 | } |
| 2003 | } |
| 2004 | |
| 2005 | |
| 2006 | // ************************************************************************* // |