00001 #ifndef X3DTK_X3D_POINTSET_H 00002 #define X3DTK_X3D_POINTSET_H 00003 00004 #include "X3DTypes.h" 00005 #include "X3D_X3DGeometryNode.h" 00006 00007 namespace X3DTK { 00008 namespace X3D { 00009 00010 class X3DColorNode; 00011 class X3DCoordinateNode; 00012 00021 class PointSet : public X3DGeometryNode 00022 { 00023 public: 00025 PointSet(); 00027 PointSet(X3DColorNode *color, 00028 X3DCoordinateNode *coord); 00030 virtual SFAbstractNode clone() const; 00032 virtual ~PointSet(); 00033 00035 void setColor(X3DColorNode *color); 00037 void setCoord(X3DCoordinateNode *coord); 00038 00040 inline SFNode getColor() const {return _color;}; 00042 inline SFNode getCoord() const {return _coord;}; 00043 00045 virtual MFAbstractNode getChildList() const; 00046 00049 virtual bool addChild(const SFAbstractNode &N); 00052 virtual bool setChild(const SFAbstractNode &N); 00054 virtual bool removeChild(const SFAbstractNode &N); 00055 00056 protected: 00058 PointSet(const PointSet &P); 00059 00060 private: 00062 SFNode _color; 00064 SFNode _coord; 00065 }; 00066 00067 } 00068 } 00069 00070 #endif