00001 00002 // X3D_MeshBuilder.h // 00004 00005 #ifndef TEMPLATEMESHBUILDER_H 00006 #define TEMPLATEMESHBUILDER_H 00007 00008 #include "X3DOnePassProcessor.h" 00009 #include "X3D_MeshBuilderStateVariables.h" 00010 #include "X3D_DFSGraphTraversal.h" 00011 #include "X3D_MeshBuilderCoreVisitor.h" 00012 #include "X3D_MeshBuilderGeometry3DVisitor.h" 00013 #include "X3D_MeshBuilderGroupingVisitor.h" 00014 #include "X3D_MeshBuilderShapeVisitor.h" 00015 #include "X3D_MeshBuilderRenderingVisitor.h" 00016 #include "X3D_Scene.h" 00017 #include "MESH_Scene.h" 00018 00019 namespace X3DTK { 00020 namespace X3D { 00021 00023 00024 template<class MData, class VData, class EData, class FData> 00025 class MeshBuilder : public X3DOnePassProcessor 00026 { 00027 public: 00029 MeshBuilder(); 00031 virtual ~MeshBuilder(); 00032 00034 virtual MESH::SFNode build(SFNode N); 00035 00037 MESH::Scene *build(Scene *S); 00038 00039 private: 00040 MeshBuilderStateVariables *stateVariables; 00041 }; 00042 00043 } 00044 } 00045 00046 #include "X3D_MeshBuilder.inl" 00047 00048 #endif