MESH_Info.h

Go to the documentation of this file.
00001 #ifndef MESH_INFO_H
00002 #define MESH_INFO_H
00003 
00004 #include <X3DTK/kernel.h>
00005 #include <X3DTK/MESH/scenegraph.h>
00006 #include <list>
00007 
00008 namespace X3DTK {
00009 namespace MESH {
00010 
00011 template<class MData, class VData, class EData, class FData, bool RW>
00012 class TemplateMeshInfo
00013 {
00014 public:
00016   TemplateMeshInfo();
00018   ~TemplateMeshInfo();
00019 
00021   void init();
00022 
00024   void addFaces(unsigned int faces);
00026   void addEdges(unsigned int edges);
00028   void setInstances(unsigned int instances);
00029   
00031   unsigned int getFaces() const;
00033   unsigned int getEdges() const;
00035   unsigned int getInstances() const;
00036   
00037 private:
00038   unsigned int _nFaces;
00039   unsigned int _nEdges;
00040   unsigned int _nInstances;
00041 };
00042 
00043 template<class MData, class VData, class EData, class FData, bool RW>
00044 class TemplateVertexInfo
00045 {
00046 public:
00048   TemplateVertexInfo();
00050   ~TemplateVertexInfo();
00051 
00053   void init();
00054 
00056   void addVertices(unsigned int vertices);
00058   void setInstances(unsigned int instances);
00059   
00061   unsigned int getVertices() const;
00063   unsigned int getInstances() const;
00064   
00065 private:
00066   unsigned int _nVertices;
00067   unsigned int _nInstances;
00068 };
00069 
00071 typedef TemplateMeshInfo<MeshData, VertexData, EdgeData, FaceData, true> MeshInfo;
00072 typedef std::list<std::pair<SFNode, TemplateMeshInfo<MeshData, VertexData, EdgeData, FaceData, true> > > MeshInfoList;
00073 
00074 typedef TemplateVertexInfo<MeshData, VertexData, EdgeData, FaceData, true> VertexInfo;
00075 typedef std::list<std::pair<SFNode, TemplateVertexInfo<MeshData, VertexData, EdgeData, FaceData, true> > > VertexInfoList;
00076 
00077 }
00078 }
00079 
00080 #include "MESH_Info.inl"
00081 
00082 #endif

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