00001 00002 // PointSet.h // 00004 00005 #ifndef POINTSET_H 00006 #define POINTSET_H 00007 00008 #include "X3DTypes.h" 00009 #include "X3DGeometryNode.h" 00010 00011 namespace X3DTK { 00012 namespace X3D { 00013 00014 class X3DColorNode; 00015 class X3DCoordinateNode; 00016 00021 class PointSet : public X3DGeometryNode 00022 { 00023 public: 00025 PointSet(); 00027 PointSet(const X3DColorNode *color, 00028 const X3DCoordinateNode *coord); 00030 virtual SFNode clone() const; 00032 virtual ~PointSet(); 00033 00035 void setColor(const X3DColorNode *color); 00037 void setCoord(const X3DCoordinateNode *coord); 00038 00040 inline SFNode getColor() const {return _color;}; 00042 inline SFNode getCoord() const {return _coord;}; 00043 00046 bool addChild(const SFAbstractNode &N); 00049 bool setChild(const SFAbstractNode &N); 00051 bool removeChild(const SFAbstractNode &N); 00052 00053 protected: 00055 PointSet(const PointSet &P); 00056 00057 private: 00059 SFNode _color; 00061 SFNode _coord; 00062 }; 00063 00064 } 00065 } 00066 00067 #endif