00001
00002
00004
00005 #ifndef TEMPLATEVERTEXSET_H
00006 #define TEMPLATEVERTEXSET_H
00007
00008 #include "MESH_X3DNode.h"
00009 #include "MESH_SFVertex.h"
00010
00011 namespace X3DTK {
00012 namespace MESH {
00013
00016
00017 template<class VData, class EData, class FData>
00018 class VertexSet : public X3DNode
00019 {
00020 public:
00022 VertexSet();
00024 virtual SFNode clone() const;
00026 virtual ~VertexSet();
00027
00029 SFVertex<VData, EData, FData> *createVertex();
00031 SFVertex<VData, EData, FData> *createVertex(unsigned int i);
00032
00034 inline const MFVertex<VData, EData, FData> &getVertices() const;
00035
00036 protected:
00038 VertexSet(const VertexSet &S);
00039
00040 private:
00041 MFVertex<VData, EData, FData> _vertices;
00042 };
00043
00044 }
00045 }
00046
00047 #include "MESH_VertexSet.inl"
00048
00049 #endif