00001 00002 // X3D_MeshBuilderShapeVisitor.h // 00004 00005 #ifndef TEMPLATEMESHBUILDERSHAPEVISITOR_H 00006 #define TEMPLATEMESHBUILDERSHAPEVISITOR_H 00007 00008 #include "X3D_ShapeVisitor.h" 00009 #include "X3D_MeshBuilderStateVariables.h" 00010 00011 namespace X3DTK { 00012 namespace X3D { 00013 00014 class Shape; 00015 class X3DAppearanceNode; 00016 00018 00019 class MeshBuilderShapeVisitor : public ShapeVisitor 00020 { 00021 public: 00023 MeshBuilderShapeVisitor(); 00025 virtual ~MeshBuilderShapeVisitor(); 00026 00028 virtual void enterShape(Shape *S) const; 00030 virtual void enterX3DAppearanceNode(X3DAppearanceNode *N) const; 00031 00033 virtual bool walkOnShape(Shape *S, SFAbstractNode child) const; 00034 00036 virtual void leaveShape(Shape *S) const; 00038 virtual void leaveX3DAppearanceNode(X3DAppearanceNode *N) const; 00039 00040 protected: 00041 MeshBuilderStateVariables *stateVariables; 00042 }; 00043 00044 } 00045 } 00046 00047 #endif