00001 00002 // MESH_MeshX3DBuilder.h // 00004 00005 #ifndef MESHX3DBUILDER_H 00006 #define MESHX3DBUILDER_H 00007 00008 #include "MESH_SceneGraphTypes.h" 00009 #include "X3DOnePassProcessor.h" 00010 #include "MESH_MeshX3DBuilderStateVariables.h" 00011 #include "MESH_MeshX3DBuilderCoreVisitor.h" 00012 #include "MESH_DFSGraphTraversal.h" 00013 #include "MESH_X3DNode.h" 00014 #include "MESH_Scene.h" 00015 #include "X3D_Scene.h" 00016 00017 namespace X3DTK { 00018 namespace MESH { 00019 00021 00022 template<class MData, class VData, class EData, class FData> 00023 class MeshX3DBuilder : public X3DOnePassProcessor 00024 { 00025 public: 00027 MeshX3DBuilder(); 00029 virtual ~MeshX3DBuilder(); 00030 00032 virtual X3D::SFNode build(SFNode N); 00034 X3D::Scene *build(Scene *S); 00035 00036 protected: 00037 MeshX3DBuilderStateVariables<MData, VData, EData, FData> *stateVariables; 00038 }; 00039 00040 } 00041 } 00042 00043 #include "MESH_MeshX3DBuilder.inl" 00044 00045 #endif 00046