00001 00002 00003 00005 00006 00011 00016 00021 // TemplateMeshBuilderShapeVisitor.h // 00023 00024 #ifndef TEMPLATEMESHBUILDERSHAPEVISITOR_H 00025 #define TEMPLATEMESHBUILDERSHAPEVISITOR_H 00026 00027 #include "ShapeVisitor.h" 00028 #include "TemplateMeshBuilderGlobalVariables.h" 00029 00030 namespace X3DTK { 00031 namespace X3D { 00032 00033 class Shape; 00034 00036 00037 class TemplateMeshBuilderShapeVisitor : public ShapeVisitor 00038 { 00039 public: 00041 TemplateMeshBuilderShapeVisitor(); 00043 virtual ~TemplateMeshBuilderShapeVisitor(); 00044 00046 virtual void enterShape(Shape *S) const; 00047 00049 virtual bool walkOnShape(Shape *S, SFAbstractNode child) const; 00050 00052 virtual void leaveShape(Shape *S) const; 00053 00054 protected: 00055 TemplateMeshBuilderGlobalVariables *globalVariables; 00056 }; 00057 00058 } 00059 } 00060 00061 #endif