00001 00002 // X3D_GLBuilderRenderingVisitor.h // 00004 00005 #ifndef GLBUILDERRENDERINGVISITOR_H 00006 #define GLBUILDERRENDERINGVISITOR_H 00007 00008 #include "X3D_RenderingVisitor.h" 00009 #include "X3D_GLBuilderStateVariables.h" 00010 00011 namespace X3DTK { 00012 namespace X3D { 00013 00014 class X3DGeometryNode; 00015 class IndexedLineSet; 00016 class PointSet; 00017 class TriangleFanSet; 00018 class TriangleSet; 00019 class TriangleStripSet; 00020 00022 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