#include "X3D_BBoxUpdater.h" #include "DFSGraphTraversal.h" #include "X3D_BBoxUpdaterCoreVisitor.h" #include "X3D_BBoxUpdaterGeometry3DVisitor.h" #include "X3D_BBoxUpdaterGroupingVisitor.h" #include "X3D_BBoxUpdaterRenderingVisitor.h" #include "X3D_BBoxUpdaterShapeVisitor.h" #include "X3D_BBoxUpdaterNavigationVisitor.h" #include "X3D_X3DNode.h" #include using namespace std; namespace X3DTK { namespace X3D { BBoxUpdater::BBoxUpdater() : X3DOnePassProcessor() { setGraphTraversal(new DFSGraphTraversal()); setComponentVisitor(new BBoxUpdaterCoreVisitor()); setComponentVisitor(new BBoxUpdaterGeometry3DVisitor()); setComponentVisitor(new BBoxUpdaterGroupingVisitor()); setComponentVisitor(new BBoxUpdaterRenderingVisitor()); setComponentVisitor(new BBoxUpdaterShapeVisitor()); setComponentVisitor(new BBoxUpdaterNavigationVisitor()); } BBoxUpdater::~BBoxUpdater() { Singleton::removeInstance(); } void BBoxUpdater::update(SFNode N, bool staticProcessing) { Singleton::getInstance()->setStaticProcessing(staticProcessing); traverse(N); Singleton::getInstance()->finish(); } } }