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