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

MESH_SFTemplateVertex.h

Go to the documentation of this file.
00001 
00002 //                            MESH_SFTemplateVertex.h                         //
00004 
00005 #ifndef TEMPLATEVERTEX_H
00006 #define TEMPLATEVERTEX_H
00007 
00008 #include "MESH_SceneGraphTypes.h"
00009 
00010 #include <vector>
00011 
00012 namespace X3DTK {
00013 namespace MESH {
00014 
00015 template<class A, class B, class C> class SFTemplateEdge;
00016 template<class A, class B, class C> class SFTemplateFace;
00017 
00020 
00021 template<class VData, class EData, class FData>
00022 class SFTemplateVertex
00023 {
00024   template<class A, class B, class C> friend class TemplateVertexSet;
00025   template<class A, class B, class C, class D> friend class TemplateMesh;
00026 public:
00028   inline unsigned int getIndex() const {return _index;};
00030   inline const MFTemplateEdge<EData, FData, VData> &getEdges() const {return _edges;};
00032   inline const MFTemplateFace<FData, VData, EData> &getFaces() const {return _faces;};
00034   inline VData &data() {return _data;};
00036   inline const VData &data() const {return _data;};
00037   
00038 private:
00039   const unsigned int _index;
00040   MFTemplateEdge<EData, FData, VData> _edges;
00041   MFTemplateFace<FData, VData, EData> _faces;
00042   VData _data;
00043 
00045   SFTemplateVertex(unsigned int i)
00046   : _index(i) {};
00047   
00049   ~SFTemplateVertex()
00050   {};
00051   
00053   void addEdge(SFTemplateEdge<EData, FData, VData> *E) {_edges.push_back(E);};
00055   void addFace(SFTemplateFace<FData, VData, EData> *F) {_faces.push_back(F);};
00056 };
00057 
00058 }
00059 }
00060 
00061 #endif

Generated on Thu Dec 4 13:25:47 2003 for X3DToolKit by doxygen1.2.18