00001 00002 // MemReleaserStateVariables.h // 00004 00005 #ifndef MEMRELEASERGLOBALVARIABLES_H 00006 #define MEMRELEASERGLOBALVARIABLES_H 00007 00008 #include "StateVariables.h" 00009 00010 namespace X3DTK { 00011 00013 00014 class MemReleaserStateVariables : public StateVariables 00015 { 00016 public: 00018 MemReleaserStateVariables(); 00020 virtual ~MemReleaserStateVariables(); 00021 00023 void init(); 00025 void finish(); 00026 00028 void setVerbose(bool verbose); 00029 00031 void pushParent(SFNode P); 00033 void popParent(); 00035 void setDelete(bool value); 00037 void addNodeToDelete(X3DAbstractNode *N); 00038 00040 SFNode getParent() const {return _nodeStack.front();}; 00042 bool getDelete() const; 00043 00044 private: 00045 bool _verbose; 00046 MFNode _nodeStack; 00047 MFNode _toDeleteNodes; 00048 bool _toDelete; 00049 }; 00050 00051 } 00052 00053 #endif