00001 #ifndef X3DTK_GL_POINTSET_H 00002 #define X3DTK_GL_POINTSET_H 00003 00004 #include "GL_X3DGeometryNode.h" 00005 00006 #include <vector> 00007 00008 namespace X3DTK { 00009 namespace GL { 00010 00017 class PointSet : public X3DGeometryNode 00018 { 00019 public: 00021 PointSet(); 00023 virtual SFNode clone() const; 00025 virtual ~PointSet(); 00026 00028 void setColor(const SFBool &color); 00030 void setC4UB_V3F_vertexArray(const std::vector<C4UB_V3F> &C4UB_V3F_vertexArray); 00032 void setV3F_vertexArray(const MFVec3f &V3F_vertexArray); 00033 00035 inline const SFBool &getColor() const {return _color;}; 00037 inline std::vector<C4UB_V3F> &C4UB_V3F_vertexArray() {return _C4UB_V3F_vertexArray;}; 00039 inline MFVec3f &V3F_vertexArray() {return _V3F_vertexArray;}; 00040 00042 virtual void update(); 00044 virtual void draw() const; 00045 00046 protected: 00048 PointSet(const PointSet &P); 00049 00050 private: 00052 SFBool _color; 00054 std::vector<C4UB_V3F> _C4UB_V3F_vertexArray; 00056 MFVec3f _V3F_vertexArray; 00057 }; 00058 00059 } 00060 } 00061 00062 #endif