Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

SimplifiedMeshScene.h

Go to the documentation of this file.
00001 #ifndef X3DTK_SIMPLEMESHLOADER_H
00002 #define X3DTK_SIMPLEMESHLOADER_H
00003 
00004 #include "X3D_Loader.h"
00005 #include "MESH_Scene.h"
00006 #include "MESH_Mesh.h"
00007 #include "MESH_MeshData.h"
00008 #include "X3D_Scene.h"
00009 #include "X3D_BBoxUpdater.h"
00010 #include "X3D_WorldCoordTranslator.h"
00011 #include "X3D_MeshBuilder.h"
00012 #include "MESH_NormalsUpdater.h"
00013 #include "MESH_MeshSimplifier.h"
00014 #include "MemReleaser.h"
00015 
00016 namespace X3DTK {
00017 
00023 template<class MData, class VData, class EData, class FData, bool RW>
00024 class TemplateSimplifiedMeshScene
00025 {
00026 public:
00028   TemplateSimplifiedMeshScene();
00030   ~TemplateSimplifiedMeshScene();
00031   
00034   void load(const char *file);
00035 
00037   inline MESH::TemplateMesh<MData, VData, EData, FData, RW> *getMesh() const {return mesh;};
00038   
00040   inline const SFVec3f &getBBoxMin() const {return min;};
00042   inline const SFVec3f &getBBoxMax() const {return max;};
00043   
00044 protected:
00045   X3D::Loader *loader;
00046   X3D::BBoxUpdater *bboxupdater;
00047   X3D::WorldCoordTranslator *translator;
00048   X3D::TemplateMeshBuilder<MData, VData, EData, FData, RW> *meshbuilder;
00049   MESH::TemplateNormalsUpdater<MData, VData, EData, FData, RW> *normalsupdater;
00050   MESH::TemplateMeshSimplifier<MData, VData, EData, FData, RW> *meshsimplifier;
00051   MemReleaser *releaser;
00052   MESH::TemplateMesh<MData, VData, EData, FData, RW> *mesh;
00053   SFVec3f min;
00054   SFVec3f max;
00055 };
00056 
00057 typedef TemplateSimplifiedMeshScene<MESH::MeshData, MESH::VertexData, MESH::EdgeData, MESH::FaceData, true> SimplifiedMeshScene;
00058 
00059 }
00060 
00061 #include "SimplifiedMeshScene.inl"
00062 
00063 #endif

Generated on Thu Jun 3 10:12:09 2004 for X3DToolKit by doxygen 1.3.6