00001 00002 00003 00005 00006 00011 00016 00021 // GLPointSet.h // 00023 00024 #ifndef GL_POINTSET_H 00025 #define GL_POINTSET_H 00026 00027 #include "X3DGLGeometryNode.h" 00028 00029 #include <vector> 00030 00031 namespace X3DTK { 00032 namespace GL { 00033 00036 00037 class PointSet : public X3DGeometryNode 00038 { 00039 public: 00041 PointSet(); 00043 virtual SFNode clone() const; 00045 virtual ~PointSet(); 00046 00048 void setColor(SFBool color); 00050 void setC4UB_V3F_vertexArray(const std::vector<C4UB_V3F> &C4UB_V3F_vertexArray); 00052 void setV3F_vertexArray(const MFVec3f &V3F_vertexArray); 00053 00055 inline SFBool getColor() const {return _color;}; 00057 inline std::vector<C4UB_V3F> &C4UB_V3F_vertexArray() {return _C4UB_V3F_vertexArray;}; 00059 inline MFVec3f &V3F_vertexArray() {return _V3F_vertexArray;}; 00060 00062 virtual void update(); 00064 virtual void render() const; 00065 00066 protected: 00068 PointSet(const PointSet &P); 00069 00070 private: 00072 SFBool _color; 00074 std::vector<C4UB_V3F> _C4UB_V3F_vertexArray; 00076 MFVec3f _V3F_vertexArray; 00077 }; 00078 00079 } 00080 } 00081 00082 #endif