00001 00002 00003 00005 00006 00011 00016 00021 // PointSet.h // 00023 00024 #ifndef POINTSET_H 00025 #define POINTSET_H 00026 00027 #include "X3DTypes.h" 00028 #include "X3DGeometryNode.h" 00029 00030 namespace X3DTK { 00031 namespace X3D { 00032 00033 class X3DColorNode; 00034 class X3DCoordinateNode; 00035 00040 class PointSet : public X3DGeometryNode 00041 { 00042 public: 00044 PointSet(); 00046 PointSet(const X3DColorNode *color, 00047 const X3DCoordinateNode *coord); 00049 virtual SFNode clone() const; 00051 virtual ~PointSet(); 00052 00054 void setColor(const X3DColorNode *color); 00056 void setCoord(const X3DCoordinateNode *coord); 00057 00059 inline SFNode getColor() const {return _color;}; 00061 inline SFNode getCoord() const {return _coord;}; 00062 00065 virtual bool addChild(const SFAbstractNode &N); 00068 virtual bool setChild(const SFAbstractNode &N); 00070 virtual bool removeChild(const SFAbstractNode &N); 00071 00072 protected: 00074 PointSet(const PointSet &P); 00075 00076 private: 00078 SFNode _color; 00080 SFNode _coord; 00081 }; 00082 00083 } 00084 } 00085 00086 #endif