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

NodeCreationProxy.h

Go to the documentation of this file.
00001 
00002 //                            NodeCreationProxy.h                             //
00004 
00005 #ifndef NODECREATIONPROXY_H
00006 #define NODECREATIONPROXY_H
00007 
00008 #include "X3DNodeProxy.h"
00009 #include "Type.h"
00010 
00011 namespace X3DTK {
00012 
00013 class X3DComponentCreator;
00014 
00016 
00017 class NodeCreationProxy : public X3DNodeProxy
00018 {
00019 public:  
00021   NodeCreationProxy();
00023   virtual ~NodeCreationProxy();
00024   
00026   void setComponentCreator(X3DComponentCreator *component);
00028   X3D::SFNode createFromName(const SFString &name) const;
00030   void reset();
00031   
00033   SFString getComponentNameOf(const SFString &name) const;
00034 
00035   friend NodeCreationProxy *joinNodeCreationProxy(NodeCreationProxy *N0, NodeCreationProxy *N1);
00036   
00037 private:  
00039   virtual void addType(const Type *type);
00041   CreationFunction *getCreationFunctionOf(const SFString &name) const;
00042   
00043   //Dictionary of all the creation functions used.
00044   CreationDict creationDict_;
00045   std::list<X3DComponentCreator *> componentList_;
00046 };
00047 
00048 }
00049 
00050 #endif

Generated on Thu Sep 18 15:08:47 2003 for X3DToolKit by doxygen1.3