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

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 readOnly>
00012 class MeshInfo
00013 {
00014 public:
00016   MeshInfo();
00018   ~MeshInfo();
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 VData, class EData, class FData, bool readOnly>
00044 class VertexInfo
00045 {
00046 public:
00048   VertexInfo();
00050   ~VertexInfo();
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 MeshInfo<MeshData, VertexData, EdgeData, FaceData, true> DefMeshInfo;
00072 typedef std::list<std::pair<X3DNode *, MeshInfo<MeshData, VertexData, EdgeData, FaceData, true> > > DefMeshInfoList;
00073 
00074 typedef VertexInfo<VertexData, EdgeData, FaceData, true> DefVertexInfo;
00075 typedef std::list<std::pair<X3DNode *, VertexInfo<VertexData, EdgeData, FaceData, true> > > DefVertexInfoList;
00076 
00077 }
00078 }
00079 
00080 #include "MESH_Info.inl"
00081 
00082 #endif

Generated on Wed Apr 7 12:15:20 2004 for X3DToolKit by doxygen 1.3.3