00001 #ifndef X3DTK_MESH_X3DBUILDERVISITOR_H 00002 #define X3DTK_MESH_X3DBUILDERVISITOR_H 00003 00004 #include "MESH_CoreVisitor.h" 00005 #include "MESH_Mesh.h" 00006 #include "MESH_Vertex.h" 00007 #include "MESH_X3DBuilderStateVariables.h" 00008 #include "MESH_Scene.h" 00009 #include "MESH_Shape.h" 00010 #include "MESH_Transform.h" 00011 #include "MESH_Switch.h" 00012 #include "X3D_Scene.h" 00013 #include "X3D_Transform.h" 00014 #include "X3D_Switch.h" 00015 #include "X3D_Shape.h" 00016 #include "X3D_IndexedFaceSet.h" 00017 #include "X3D_Coordinate.h" 00018 #include "X3D_X3DAppearanceNode.h" 00019 #include "X3D_Normal.h" 00020 #include "X3D_ColorRGBA.h" 00021 #include "X3D_TextureCoordinate.h" 00022 00023 namespace X3DTK { 00024 namespace MESH { 00025 00032 template<class MData, class VData, class EData, class FData, bool RW> 00033 class TemplateX3DBuilderCoreVisitor : public CoreVisitor 00034 { 00035 public: 00037 TemplateX3DBuilderCoreVisitor(); 00038 00040 static void enterScene(Scene *S); 00042 static void enterTransform(Transform *T); 00044 static void enterSwitch(Switch *S); 00046 static void enterShape(Shape *S); 00048 static void enterMesh(TemplateMesh<MData, VData, EData, FData, RW> *M); 00050 static void enterVertex(TemplateVertex<MData, VData, EData, FData, RW> *V); 00052 static void leaveX3DNode(X3DNode *); 00053 }; 00054 00055 } 00056 } 00057 00058 #include "MESH_X3DBuilderCoreVisitor.inl" 00059 00060 #endif