#include "GraphTesterAbstractVisitor.h" #include using namespace std; namespace X3DTK { GraphTesterAbstractVisitor::GraphTesterAbstractVisitor() : AbstractVisitor() { define(Recorder::getEnterFunction(&GraphTesterAbstractVisitor::enterX3DAbstractNode)); define(Recorder::getLeaveFunction(&GraphTesterAbstractVisitor::leaveX3DAbstractNode)); } void GraphTesterAbstractVisitor::enterX3DAbstractNode(X3DAbstractNode *N) { GraphTesterStateVariables *stateVariables = Singleton::getInstance(); SFString name; if (N->getName() != "") name += " DEF = " + N->getName(); cout << stateVariables->getTab() << N->getSceneGraphName() << "::" << N->getTypeName() << name << " := " << N << " -> "; MFNode list = N->getParentList(); for (MFNode::const_iterator it = list.begin(); it != list.end(); ++it) cout << (*it)->getSceneGraphName() << "::" << (*it)->getTypeName() << ", "; cout << endl; stateVariables->addTab(); } void GraphTesterAbstractVisitor::leaveX3DAbstractNode(X3DAbstractNode *) { GraphTesterStateVariables *stateVariables = Singleton::getInstance(); stateVariables->removeTab(); } }