X3DMultiPassProcessor.h

Go to the documentation of this file.
00001 #ifndef X3DTK_X3DMULTIPASSPROCESSOR_H
00002 #define X3DTK_X3DMULTIPASSPROCESSOR_H
00003 
00004 #include "X3DProcessor.h"
00005 #include "GraphTraversal.h"
00006 
00007 #include <map>
00008 
00009 namespace X3DTK {
00010 
00021 class X3DMultiPassProcessor : public X3DProcessor
00022 {
00023   typedef std::map<SFString, GraphTraversal *, ltSFString> MFGraphTraversal;
00024 public:
00026   X3DMultiPassProcessor();
00028   virtual ~X3DMultiPassProcessor() = 0;
00029   
00031   virtual void setWalker(const SFString &processor, Walker *walker);
00034   virtual void setComponentVisitor(const SFString &processor, X3DComponentVisitor *component);
00035 
00038   void setGraphTraversal(const SFString &processor, GraphTraversal *graphTraversal);
00040   GraphTraversal *getGraphTraversal(const SFString &processor) const;
00042   void traverse(const SFString &processor, X3DAbstractNode *N);
00043 
00044 private:
00045   MFGraphTraversal _graphTraversalMap;  
00046 };
00047 
00048 }
00049 
00050 #endif

Generated on Fri Jul 30 12:02:30 2004 for X3DToolKit by doxygen 1.3.6