00001 00002 // TemplateMeshBuilderShapeVisitor.h // 00004 00005 #ifndef TEMPLATEMESHBUILDERSHAPEVISITOR_H 00006 #define TEMPLATEMESHBUILDERSHAPEVISITOR_H 00007 00008 #include "ShapeVisitor.h" 00009 #include "TemplateMeshBuilderGlobalVariables.h" 00010 00011 namespace X3DTK { 00012 namespace X3D { 00013 00014 class Shape; 00015 00017 00018 class TemplateMeshBuilderShapeVisitor : public ShapeVisitor 00019 { 00020 public: 00022 TemplateMeshBuilderShapeVisitor(); 00024 virtual ~TemplateMeshBuilderShapeVisitor(); 00025 00027 virtual void enterShape(Shape *S) const; 00028 00030 virtual bool walkOnShape(Shape *S, SFAbstractNode child) const; 00031 00033 virtual void leaveShape(Shape *S) const; 00034 00035 protected: 00036 TemplateMeshBuilderGlobalVariables *globalVariables; 00037 }; 00038 00039 } 00040 } 00041 00042 #endif