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

GLCreatorRenderingVisitor.cpp

Go to the documentation of this file.
00001 #include "GLCreatorRenderingVisitor.h"
00002 #include "IndexedLineSet.h"
00003 #include "PointSet.h"
00004 #include "TriangleFanSet.h"
00005 #include "TriangleSet.h"
00006 #include "TriangleStripSet.h"
00007 #include "GLIndexedLineSet.h"
00008 #include "GLPointSet.h"
00009 #include "GLTriangleFanSet.h"
00010 #include "GLTriangleSet.h"
00011 #include "GLTriangleStripSet.h"
00012 #include "X3DGeometryNode.h"
00013 
00014 using namespace X3DTK;
00015 
00016 GLCreatorRenderingVisitor::GLCreatorRenderingVisitor()
00017 : RenderingVisitor()
00018 {
00019   // Enter functions.
00020   defineNewEnterFunction<GLCreatorRenderingVisitor, IndexedLineSet>(&GLCreatorRenderingVisitor::enterIndexedLineSet);
00021   defineNewEnterFunction<GLCreatorRenderingVisitor, PointSet>(&GLCreatorRenderingVisitor::enterPointSet);
00022   defineNewEnterFunction<GLCreatorRenderingVisitor, TriangleFanSet>(&GLCreatorRenderingVisitor::enterTriangleFanSet);
00023   defineNewEnterFunction<GLCreatorRenderingVisitor, TriangleSet>(&GLCreatorRenderingVisitor::enterTriangleSet);
00024   defineNewEnterFunction<GLCreatorRenderingVisitor, TriangleStripSet>(&GLCreatorRenderingVisitor::enterTriangleStripSet);
00025 
00026   // WalkOn functions
00027   defineNewWalkOnFunction<GLCreatorRenderingVisitor, X3DGeometryNode>(&GLCreatorRenderingVisitor::walkOnX3DGeometryNode);
00028 
00029   
00030   // GlobalVariables assignation.
00031   globalVariables = GVManager::getInstanceOf<GLCreatorGlobalVariables>();
00032 }
00033 
00034 GLCreatorRenderingVisitor::~GLCreatorRenderingVisitor()
00035 {
00036 }
00037 
00038 void GLCreatorRenderingVisitor::enterIndexedLineSet(IndexedLineSet *I) const
00039 {
00040   GLIndexedLineSet *GI = new GLIndexedLineSet();
00041   GI->setLink(I);
00042   globalVariables->getTop()->addChild(GI);
00043   globalVariables->pushNode(GI);
00044 }
00045 
00046 void GLCreatorRenderingVisitor::enterPointSet(PointSet *P) const
00047 {
00048   GLPointSet *GP = new GLPointSet();
00049   GP->setLink(P);
00050   globalVariables->getTop()->addChild(GP);
00051   globalVariables->pushNode(GP);
00052 }
00053 
00054 void GLCreatorRenderingVisitor::enterTriangleFanSet(TriangleFanSet *T) const
00055 {
00056   GLTriangleFanSet *GT = new GLTriangleFanSet();
00057   GT->setLink(T);
00058   globalVariables->getTop()->addChild(GT);
00059   globalVariables->pushNode(GT);
00060 }
00061 
00062 void GLCreatorRenderingVisitor::enterTriangleSet(TriangleSet *T) const
00063 {
00064   GLTriangleSet *GT = new GLTriangleSet();
00065   GT->setLink(T);
00066   globalVariables->getTop()->addChild(GT);
00067   globalVariables->pushNode(GT);
00068 }
00069 
00070 void GLCreatorRenderingVisitor::enterTriangleStripSet(TriangleStripSet *T) const
00071 {
00072   GLTriangleStripSet *GT = new GLTriangleStripSet();
00073   GT->setLink(T);
00074   globalVariables->getTop()->addChild(GT);
00075   globalVariables->pushNode(GT);
00076 }
00077 
00078 bool GLCreatorRenderingVisitor::walkOnX3DGeometryNode(X3DGeometryNode *N, SFNode child) const
00079 {
00080   return false;
00081 }

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