Documentation


myGLRendererCoreVisitor.cpp

Go to the documentation of this file.
00001 #include <X3DTK/kernel.h>
00002 #include <X3DTK/private/GL_X3DNode.h>
00003 #include <X3DTK/private/X3D_X3DNode.h>
00004 
00005 #include <animal/X3DTK/GL/engine/glEngineNode.h>
00006 //#include <animal/X3DTK/X3D/frameNode/frameNode.h>
00007 //#include <animal/engine/engine.h>
00008 
00009 #include "myGLBbox.h"
00010 #include "myGLRendererCoreVisitor.h"
00011 #include "myGLRendererStateVariables.h"
00012 
00013 namespace X3DTK
00014 {
00015   namespace GL
00016   {
00017 
00018     MyRendererCoreVisitor::MyRendererCoreVisitor()
00019         : CoreVisitor()
00020     {
00021 
00022       // Enter functions.
00023       define(Recorder<X3DNode>::getEnterFunction(&MyRendererCoreVisitor::enterX3DNode));
00025       //defineEnterFunction(&MyRendererCoreVisitor::enterX3DNode);
00026     }
00027 
00028     MyRendererCoreVisitor::~MyRendererCoreVisitor()
00029     {}
00030 
00031     void MyRendererCoreVisitor::enterX3DNode(X3DNode *N)
00032     {
00033 
00034       MyRendererStateVariables *stateVariables = Singleton<MyRendererStateVariables>::getInstance();
00035 
00036       // StateVariables assignation.
00037       //MyRendererStateVariables * stateVariables = GraphTraversal::getInstanceOf<MyRendererStateVariables>();
00038 
00039       X3D::X3DNode * X3D_N = N->getX3DReference ();
00040       if (X3D::X3DBoundedObject * X3DBN = dynamic_cast<X3D::X3DBoundedObject *>(X3D_N))
00041       {
00042         if (stateVariables->boundedObject==X3DBN)
00043         {
00044           GL::MyGLBbox bbox;
00045           bbox.setSize(X3DBN->getBBoxSize());
00046           bbox.setCenter(X3DBN->getBBoxCenter());
00047           bbox.draw();
00048         }
00049       }
00050 
00051       if (GLEngineNode * GLEN = dynamic_cast<GLEngineNode *>(N))
00052       {
00053         GLEN->draw();
00054       }
00055     }
00056 
00057   }
00058 }

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