X3D_X3DComponentCreator.h

Go to the documentation of this file.
00001 #ifndef X3DTK_X3DCOMPONENTCREATOR_H
00002 #define X3DTK_X3DCOMPONENTCREATOR_H
00003 
00004 #include "X3DComponent.h"
00005 #include "Recorder.h"
00006 
00007 namespace X3DTK {
00008 namespace X3D {
00009 
00016 class X3DComponentCreator : public X3DComponent
00017 {
00018 public:
00020   X3DComponentCreator();
00022   virtual ~X3DComponentCreator() = 0;
00023   
00025   CreationFunction *getCreationFunctionOf(const SFString &name) const;
00027   inline CreationDict getCreationDict() const {return _creationDict;};
00028   
00030   bool contains(const SFString &name) const;
00031   
00032 protected:
00034   template<class T>
00035   void defineNode();
00036   
00038   void define(const std::pair<StringType, CreationFunction *> &entry);
00039 
00040 private:
00041   CreationDict _creationDict;
00042 };
00043 
00044 }
00045 }
00046 
00047 #include "X3D_X3DComponentCreator.inl"
00048 
00049 #endif

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