00001 #ifndef X3DTK_X3D_GLBUILDERRENDERINGVISITOR_H 00002 #define X3DTK_X3D_GLBUILDERRENDERINGVISITOR_H 00003 00004 #include "X3D_RenderingVisitor.h" 00005 #include "X3D_GLBuilderStateVariables.h" 00006 00007 namespace X3DTK { 00008 namespace X3D { 00009 00010 class X3DGeometryNode; 00011 class IndexedLineSet; 00012 class PointSet; 00013 class TriangleFanSet; 00014 class TriangleSet; 00015 class TriangleStripSet; 00016 00023 class GLBuilderRenderingVisitor : public RenderingVisitor 00024 { 00025 public: 00027 GLBuilderRenderingVisitor(); 00029 virtual ~GLBuilderRenderingVisitor(); 00030 00032 virtual void enterIndexedLineSet(IndexedLineSet *I) const; 00034 virtual void enterPointSet(PointSet *P) const; 00036 virtual void enterTriangleFanSet(TriangleFanSet *T) const; 00038 virtual void enterTriangleSet(TriangleSet *T) const; 00040 virtual void enterTriangleStripSet(TriangleStripSet *T) const; 00041 00043 virtual bool walkOnX3DGeometryNode(X3DGeometryNode *N, SFAbstractNode child) const; 00044 00045 protected: 00046 GLBuilderStateVariables *stateVariables; 00047 }; 00048 00049 } 00050 } 00051 00052 #endif