Graph::EdgePath const
Graph::getReachable(int from, bool only_viewable,
- bool clear_visited)
+ bool clear_visited, set<int> excludes)
{
EdgePath result;
queue<int> Q;
int const cv = (*cit)->to;
if (!vertices_[cv].visited) {
vertices_[cv].visited = true;
- Q.push(cv);
+ if (excludes.find(cv) == excludes.end())
+ Q.push(cv);
}
}
}