00001 #ifndef X3DTK_MESH_MESHSIMPLIFIER_H 00002 #define X3DTK_MESH_MESHSIMPLIFIER_H 00003 00004 #include "X3DOnePassProcessor.h" 00005 #include "MESH_SceneGraphTypes.h" 00006 #include "MESH_Mesh.h" 00007 #include "MESH_Scene.h" 00008 #include "MESH_MeshSimplifierCoreVisitor.h" 00009 #include "MESH_MeshSimplifierStateVariables.h" 00010 #include "DFSGraphTraversal.h" 00011 00012 namespace X3DTK { 00013 namespace MESH { 00014 00015 template<class MData, class VData, class EData, class FData, bool RW> class TemplateMeshSimplifierStateVariables; 00016 00027 template<class MData, class VData, class EData, class FData, bool RW> 00028 class TemplateMeshSimplifier : public X3DOnePassProcessor 00029 { 00030 public: 00032 TemplateMeshSimplifier(); 00034 virtual ~TemplateMeshSimplifier(); 00035 00037 TemplateMesh<MData, VData, EData, FData, RW> *build(Scene *S); 00038 }; 00039 00041 typedef TemplateMeshSimplifier<MeshData, VertexData, EdgeData, FaceData, true> MeshSimplifier; 00042 00043 } 00044 } 00045 00046 #include "MESH_MeshSimplifier.inl" 00047 00048 #endif