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 
00003 
00005 
00006 
00011 
00016 
00021 //                            NodeCreationProxy.h                             //
00023 
00024 #ifndef NODECREATIONPROXY_H
00025 #define NODECREATIONPROXY_H
00026 
00027 #include "X3DNodeProxy.h"
00028 #include "Type.h"
00029 
00030 namespace X3DTK {
00031 
00032 class X3DComponentCreator;
00033 
00035 
00036 class NodeCreationProxy : public X3DNodeProxy
00037 {
00038 public:  
00040   NodeCreationProxy();
00042   virtual ~NodeCreationProxy();
00043   
00045   void setComponentCreator(X3DComponentCreator *component);
00047   X3D::SFNode createFromName(const SFString &name) const;
00049   void reset();
00050   
00052   SFString getComponentNameOf(const SFString &name) const;
00053 
00054   friend NodeCreationProxy *joinNodeCreationProxy(NodeCreationProxy *N0, NodeCreationProxy *N1);
00055   
00056 private:  
00058   virtual void addType(const Type *type);
00060   CreationFunction *getCreationFunctionOf(const SFString &name) const;
00061   
00062   //Dictionary of all the creation functions used.
00063   CreationDict creationDict_;
00064   std::list<X3DComponentCreator *> componentList_;
00065 };
00066 
00067 }
00068 
00069 #endif

Generated on Wed Sep 10 11:25:14 2003 for X3DToolKit by doxygen1.3