#include "GraphTraversal.h" #include "Visitor.h" #include "Walker.h" #include using namespace std; namespace X3DTK { GraphTraversal::GraphTraversal() : visitor(0), walker(0) { } GraphTraversal::~GraphTraversal() { } void GraphTraversal::setWalker(Walker *walker) { this->walker = walker; } void GraphTraversal::setComponentVisitor(X3DComponentVisitor *component) { if (visitor != 0) visitor->setComponentVisitor(component); } void GraphTraversal::setAutoDeleteComponents(bool value) { if (visitor != 0) visitor->setAutoDeleteComponents(value); } void GraphTraversal::traverse(SFNode N) const { if ((walker != 0) && (visitor != 0) && (N != 0)) walker->walk(N); } }