00001 00002 // X3D_TemplateMeshBuilderGroupingVisitor.h // 00004 00005 #ifndef TEMPLATEMESHBUILDERGROUPINGVISITOR_H 00006 #define TEMPLATEMESHBUILDERGROUPINGVISITOR_H 00007 00008 #include "X3D_GroupingVisitor.h" 00009 #include "X3D_TemplateMeshBuilderStateVariables.h" 00010 00011 namespace X3DTK { 00012 namespace X3D { 00013 00014 class X3DChildNode; 00015 class X3DGroupingNode; 00016 class StaticGroup; 00017 class Transform; 00018 class Switch; 00019 00021 00022 class TemplateMeshBuilderGroupingVisitor : public GroupingVisitor 00023 { 00024 public: 00026 TemplateMeshBuilderGroupingVisitor(); 00028 virtual ~TemplateMeshBuilderGroupingVisitor(); 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; 00040 00042 virtual void leaveX3DChildNode(X3DChildNode *N) const; 00044 virtual void leaveX3DGroupingNode(X3DGroupingNode *N) const; 00045 00046 00047 protected: 00048 TemplateMeshBuilderStateVariables *stateVariables; 00049 }; 00050 00051 } 00052 } 00053 00054 #endif