00001 00002 // X3DNodeProxy.h // 00004 00005 #ifndef X3DNODEPROXY_H 00006 #define X3DNODEPROXY_H 00007 00008 #include "X3DTypes.h" 00009 00010 namespace X3DTK { 00011 00012 class Type; 00013 00015 00016 class X3DNodeProxy 00017 { 00018 public: 00020 X3DNodeProxy(); 00022 virtual ~X3DNodeProxy() = 0; 00023 // Deletes the components when the proxy is deleted. 00024 void setAutoDeleteComponents(bool value); 00027 virtual void reset() = 0; 00028 00029 protected: 00031 virtual void addType(const Type *type) = 0; 00032 00035 bool autoDelete; 00036 00037 friend class Type; 00038 }; 00039 00040 } 00041 00042 #endif