Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

X3DComponentWalker.h

Go to the documentation of this file.
00001 
00002 //                            X3DComponentWalker.h                            //
00004 
00005 #ifndef X3DCOMPONENTWALKER_H
00006 #define X3DCOMPONENTWALKER_H
00007 
00008 #include "X3DComponent.h"
00009 #include "WalkingFunction.h"
00010 #include "X3DAbstractNode.h"
00011 #include "Walker.h"
00012 #include "Visitor.h"
00013 #include "SFSceneGraph.h"
00014 
00015 namespace X3DTK {
00016 
00018 
00019 class X3DComponentWalker : public X3DComponent
00020 {
00021 public:
00023   X3DComponentWalker();
00025   virtual ~X3DComponentWalker() = 0;
00026   
00028   void setWalker(Walker *walker);
00030   void setVisitor(Visitor *visitor);
00031   
00033   WalkingFunction *getWalkingFunctionOf(const SFType *type) const;
00034   
00035 protected:  
00037   Walker *walker;
00039   Visitor *visitor;
00041   template<class C, class T> 
00042   void defineWalkingFunction(void (C::*ptrF)(T *) const);
00043     
00044 private:
00045   WalkingDict _walkingDict;
00046 };
00047 
00048 }
00049 
00050 #include "X3DComponentWalker.inl"
00051 
00052 #endif

Generated on Mon Jan 19 10:32:08 2004 for X3DToolKit by doxygen1.2.18