00001 #ifndef X3DTK_X3D_MESHBUILDERGROUPINGVISITOR_H 00002 #define X3DTK_X3D_MESHBUILDERGROUPINGVISITOR_H 00003 00004 #include "X3D_GroupingVisitor.h" 00005 #include "X3D_MeshBuilderStateVariables.h" 00006 00007 namespace X3DTK { 00008 namespace X3D { 00009 00010 class X3DChildNode; 00011 class X3DGroupingNode; 00012 class StaticGroup; 00013 class Transform; 00014 class Switch; 00015 00022 class MeshBuilderGroupingVisitor : public GroupingVisitor 00023 { 00024 public: 00026 MeshBuilderGroupingVisitor(); 00028 virtual ~MeshBuilderGroupingVisitor(); 00029 00031 virtual void enterX3DChildNode(X3DChildNode *N) const; 00033 virtual void enterX3DGroupingNode(X3DGroupingNode *N) const; 00035 virtual void enterStaticGroup(StaticGroup *S) const; 00037 virtual void enterTransform(Transform *T) const; 00039 virtual void enterSwitch(Switch *S) const; 00041 virtual void leaveX3DChildNode(X3DChildNode *N) const; 00043 virtual void leaveX3DGroupingNode(X3DGroupingNode *N) const; 00044 00045 00046 protected: 00047 MeshBuilderStateVariables *stateVariables; 00048 }; 00049 00050 } 00051 } 00052 00053 #endif