Documentation


glBuilderEngineNodeVisitor.cpp

Go to the documentation of this file.
00001 
00002 //                            glBuilderEngineNodeVisitor.cpp                  //
00004 
00005 #include "glBuilderEngineNodeVisitor.h"
00006 #include <animal/X3DTK/GL/engine/glEngineNode.h>
00007 #include <animal/X3DTK/GL/engine/GLEngineLeafNode.h>
00008 #include <animal/X3DTK/GLLeafEngineNode.h>
00009 #include <animal/X3DTK/X4DNode.h>
00010 #include <iostream>
00011 using std::cout;
00012 using std::cerr;
00013 using std::endl;
00014 
00015 namespace X3DTK
00016 {
00017 namespace X3D
00018 {
00019 
00020 GLBuilderEngineNodeVisitor::GLBuilderEngineNodeVisitor()
00021 {
00022      // Enter functions.
00023       define(Recorder<X4DNode>::getEnterFunction(&GLBuilderEngineNodeVisitor::enterX4DNode));
00024     
00025     // Enter functions.
00026     //defineEnterFunction(&GLBuilderEngineNodeVisitor::enterX4DNode);
00027 }
00028 
00029 GLBuilderEngineNodeVisitor::~GLBuilderEngineNodeVisitor()
00030 {}
00031 
00032 void GLBuilderEngineNodeVisitor::enterX4DNode(X4DNode *x4dNode)
00033 {
00034     //std::cout<<"GLBuilderEngineNodeVisitor::enterEngineNode named "<< EN->getName() << std::endl;
00035     GLBuilderStateVariables *stateVariables = Singleton<GLBuilderStateVariables>::getInstance();
00036     GL::X3DNode * GEN = stateVariables->getNode(x4dNode);
00037     if (GEN == 0)
00038     {
00039         if( dynamic_cast<GLLeafEngineNode*>(x4dNode) )
00040         {
00041             //cerr<<"GLBuilderEngineNodeVisitor::enterX4DNode GLLeafEngineNode"<<endl;
00042             GL::GLEngineLeafNode* glnode = new GL::GLEngineLeafNode();
00043             glnode->setX4DNode(x4dNode);
00044             GEN = glnode;
00045         }
00046         else
00047         {
00048             GL::GLEngineNode* glnode = new GL::GLEngineNode();
00049             glnode->setX4DNode(x4dNode);
00050             GEN = glnode;
00051         }
00052         GEN->setX3DReference(x4dNode);
00053         stateVariables->addCoupleNode(x4dNode, GEN);
00054     }
00055     stateVariables->pushNode(GEN);
00056 }
00057 }
00058 }
00059 

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