00001 #ifndef X3DTK_MESH_X3DBUILDER_H 00002 #define X3DTK_MESH_X3DBUILDER_H 00003 00004 #include "MESH_SceneGraphTypes.h" 00005 #include "X3DOnePassProcessor.h" 00006 #include "MESH_X3DBuilderStateVariables.h" 00007 #include "MESH_X3DBuilderCoreVisitor.h" 00008 #include "DFSGraphTraversal.h" 00009 #include "MESH_X3DNode.h" 00010 #include "MESH_Scene.h" 00011 #include "MESH_MeshData.h" 00012 #include "X3D_Scene.h" 00013 00014 namespace X3DTK { 00015 namespace MESH { 00016 00023 template<class MData, class VData, class EData, class FData, bool RW> 00024 class TemplateX3DBuilder : public X3DOnePassProcessor 00025 { 00026 public: 00028 TemplateX3DBuilder(); 00030 virtual ~TemplateX3DBuilder(); 00031 00033 virtual X3D::SFNode build(SFNode N); 00035 X3D::Scene *build(Scene *S); 00036 00037 protected: 00038 TemplateX3DBuilderStateVariables<MData, VData, EData, FData, RW> *stateVariables; 00039 }; 00040 00042 typedef TemplateX3DBuilder<MeshData, VertexData, EdgeData, FaceData, true> X3DBuilder; 00043 00044 } 00045 } 00046 00047 #include "MESH_X3DBuilder.inl" 00048 00049 #endif 00050