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

MemReleaser.cpp

Go to the documentation of this file.
00001 #include "MemReleaser.h"
00002 #include "DefaultDFS.h"
00003 #include "DefaultGLDFS.h"
00004 #include "MemReleaserRootVisitor.h"
00005 
00006 #include <iostream>
00007 
00008 using namespace std;
00009 using namespace X3DTK;
00010 
00011 MemReleaser::MemReleaser(DFS *dfs)
00012 : X3DMemReleaser()
00013 {
00014   globalVariables = GVManager::getInstanceOf<MemReleaserGlobalVariables>();
00015   if (dfs == 0)
00016   {
00017     this->dfs = mergeDFS(new DefaultDFS(), new DefaultGLDFS());
00018     defaultDFSUSE = true;
00019   }  
00020   else
00021   {
00022     this->dfs = dfs;
00023     defaultDFSUSE = false;
00024   }
00025   
00026   //cout << "dfs = " << (void *)dfs << endl;
00027   
00028   X3DComponentVisitor *mrv = new MemReleaserRootVisitor();
00029   
00030   this->dfs->setComponentVisitor(mrv);
00031 }
00032 
00033 MemReleaser::~MemReleaser()
00034 {
00035   if (defaultDFSUSE)
00036     delete dfs;
00037 }
00038 
00039 void MemReleaser::setComponentVisitor(X3DComponentVisitor *component)
00040 {
00041   dfs->setComponentVisitor(component);
00042 }
00043   
00044 void MemReleaser::release(SFNode N) const
00045 {
00046   dfs->traverse(N);
00047 }

Generated on Wed May 14 10:03:10 2003 for X3DToolKit by doxygen1.3