MESH_MeshSimplifierStateVariables.h

Go to the documentation of this file.
00001 #ifndef X3DTK_MESH_MESHSIMPLIFIERSTATEVARIABLES_H
00002 #define X3DTK_MESH_MESHSIMPLIFIERSTATEVARIABLES_H
00003 
00004 #include "MESH_SceneGraphTypes.h"
00005 #include "MESH_Mesh.h"
00006 #include "MESH_Vertex.h"
00007 
00008 #include <list>
00009 #include <vector>
00010 #include <map>
00011 
00012 namespace X3DTK {
00013 namespace MESH {
00014 
00021 template<class MData, class VData, class EData, class FData, bool RW>
00022 class TemplateMeshSimplifierStateVariables : public StateVariables
00023 {
00024 public:
00026   TemplateMeshSimplifierStateVariables();
00027 
00029   void init();
00031   void finish();
00032    
00034   void addNode(SFNode N);
00036   bool getNode(SFNode N) const;
00037   
00039   inline TemplateMesh<MData, VData, EData, FData, RW> *getMesh() const {return _mesh;};
00040   
00042   void addCoupleVertex(SFTemplateVertex<MData, VData, EData, FData, RW> *A, SFTemplateVertex<MData, VData, EData, FData, RW> *B);
00044   SFTemplateVertex<MData, VData, EData, FData, RW> *getNode(SFTemplateVertex<MData, VData, EData, FData, RW> *V) const;
00045   
00046 private:  
00047   std::list<SFNode> _nodeList;
00048   TemplateMesh<MData, VData, EData, FData, RW> *_mesh;
00049   std::map<SFTemplateVertex<MData, VData, EData, FData, RW> *, SFTemplateVertex<MData, VData, EData, FData, RW> *> _vertexMap;
00050 };
00051 
00052 }
00053 }
00054 
00055 #include "MESH_MeshSimplifierStateVariables.inl"
00056 
00057 #endif

Generated on Fri Aug 27 13:16:22 2004 for X3DToolKit by doxygen 1.3.6