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

X3D_Creator.h

Go to the documentation of this file.
00001 #ifndef X3DTK_CREATOR_H
00002 #define X3DTK_CREATOR_H
00003 
00004 #include "X3D_CreationFunction.h"
00005 #include "X3DActor.h"
00006 
00007 namespace X3DTK {
00008 namespace X3D {
00009 
00010 class X3DComponentCreator;
00011 
00019 class Creator : public X3DActor
00020 {
00021 public:  
00023   Creator();
00025   virtual ~Creator();
00026   
00028   void setComponentCreator(X3DComponentCreator *component);
00030   X3D::SFNode createFromName(const SFString &name) const;
00032   void reset();
00033   
00035   SFString getComponentNameOf(const SFString &name) const;
00036 
00037   friend Creator *joinCreator(Creator *N0, Creator *N1);
00038   
00039 private:  
00041   virtual void addType(const SFType *type);
00043   CreationFunction *getCreationFunctionOf(const SFString &name) const;
00044   
00045   //Dictionary of all the creation functions used.
00046   CreationDict creationDict_;
00047   std::list<X3DComponentCreator *> componentList_;
00048 };
00049 
00050 }
00051 }
00052 
00053 #endif

Generated on Wed Apr 7 12:15:21 2004 for X3DToolKit by doxygen 1.3.3