00001 #ifndef X3DTK_X3DONEPASSPROCESSOR_H 00002 #define X3DTK_X3DONEPASSPROCESSOR_H 00003 00004 #include "X3DProcessor.h" 00005 #include "GraphTraversal.h" 00006 00007 namespace X3DTK { 00008 00018 class X3DOnePassProcessor : public X3DProcessor 00019 { 00020 public: 00022 X3DOnePassProcessor(); 00024 virtual ~X3DOnePassProcessor() = 0; 00025 00027 virtual void setWalker(Walker *walker); 00030 virtual void setComponentVisitor(X3DComponentVisitor *component); 00031 00034 void setGraphTraversal(GraphTraversal *graphTraversal); 00036 inline GraphTraversal *getGraphTraversal() const {return _graphTraversal;}; 00038 void traverse(X3DAbstractNode *N) const; 00039 00040 private: 00041 GraphTraversal *_graphTraversal; 00042 }; 00043 00044 } 00045 00046 #endif