00001 00002 // GLPointSet.h // 00004 00005 #ifndef GL_POINTSET_H 00006 #define GL_POINTSET_H 00007 00008 #include "X3DGLGeometryNode.h" 00009 00010 #include <vector> 00011 00012 namespace X3DTK { 00013 namespace GL { 00014 00017 00018 class PointSet : public X3DGeometryNode 00019 { 00020 public: 00022 PointSet(); 00024 virtual SFNode clone() const; 00026 virtual ~PointSet(); 00027 00029 void setColor(SFBool color); 00031 void setC4UB_V3F_vertexArray(const std::vector<C4UB_V3F> &C4UB_V3F_vertexArray); 00033 void setV3F_vertexArray(const MFVec3f &V3F_vertexArray); 00034 00036 inline SFBool getColor() const {return _color;}; 00038 inline std::vector<C4UB_V3F> &C4UB_V3F_vertexArray() {return _C4UB_V3F_vertexArray;}; 00040 inline MFVec3f &V3F_vertexArray() {return _V3F_vertexArray;}; 00041 00043 virtual void update(); 00045 virtual void render() const; 00046 00047 protected: 00049 PointSet(const PointSet &P); 00050 00051 private: 00053 SFBool _color; 00055 std::vector<C4UB_V3F> _C4UB_V3F_vertexArray; 00057 MFVec3f _V3F_vertexArray; 00058 }; 00059 00060 } 00061 } 00062 00063 #endif