00001 00002 // MESH_X3DBuilderCoreVisitor.h // 00004 00005 #ifndef MESHX3DBUILDERVISITOR_H 00006 #define MESHX3DBUILDERVISITOR_H 00007 00008 #include "MESH_CoreVisitor.h" 00009 #include "MESH_Mesh.h" 00010 #include "MESH_VertexSet.h" 00011 #include "MESH_X3DBuilderStateVariables.h" 00012 00013 namespace X3DTK { 00014 namespace MESH { 00015 00016 class Scene; 00017 class X3DNode; 00018 class Transform; 00019 class Switch; 00020 00021 class X3DBuilderCoreVisitor : public CoreVisitor 00022 { 00023 public: 00025 X3DBuilderCoreVisitor(); 00026 00028 virtual void enterScene(Scene *S) const; 00030 virtual void enterTransform(Transform *T) const; 00032 virtual void enterSwitch(Switch *S) const; 00034 virtual void enterMesh(Mesh *M) const; 00036 virtual void enterVertexSet(VertexSet *V) const; 00037 00039 virtual void leaveX3DNode(X3DNode *N) const; 00041 virtual void leaveMesh(Mesh *M) const; 00042 00043 protected: 00044 X3DBuilderStateVariables *stateVariables; 00045 }; 00046 00047 } 00048 } 00049 00050 #endif