Documentation


engineRemoverVisitor.cpp

Go to the documentation of this file.
00001 #include "engineRemoverVisitor.h"
00002 #include "engineLoader.h"
00003 
00004 namespace X3DTK
00005 {
00006 namespace X3D
00007 {
00008 EngineRemoverVisitor::EngineRemoverVisitor ()
00009 {
00010     defineEnterFunction(&EngineRemoverVisitor::enterNode);
00011 }
00012 
00013 EngineRemoverVisitor::~EngineRemoverVisitor ()
00014 {}
00015 
00016 void EngineRemoverVisitor::enterNode (X3DNode * n)
00017 {
00018     assert(EngineLoader::s_allEngineNodes);
00019     assert(EngineLoader::s_kinematicNodes);
00020     assert(EngineLoader::s_dynamicNodes);
00021     assert(EngineLoader::s_collisionNodes);
00022     if( EngineNode* en = dynamic_cast<EngineNode*>(n) )
00023     {
00024         EngineLoader::s_allEngineNodes->remove(en);
00025         if( en->behavior()==EngineNode::KINEMATICS )
00026         {
00027             EngineLoader::s_kinematicNodes->remove
00028             (en);
00029         }
00030         else if( en->behavior()==EngineNode::DYNAMICS )
00031         {
00032             EngineLoader::s_dynamicNodes->remove
00033             (en);
00034         }
00035         else if( en->behavior()==EngineNode::COLLISION )
00036         {
00037             EngineLoader::s_collisionNodes->remove
00038             (en);
00039         }
00040     }
00041 }
00042 
00043 }        // namespace X3D
00044 }        // namespace X3DTK

Generated on Thu Dec 23 13:52:24 2004 by doxygen 1.3.6