00001 00002 00003 00005 00006 00011 00016 00022 00024 00025 00030 00035 00040 // PointSet.h // 00042 00043 #ifndef POINTSET_H 00044 #define POINTSET_H 00045 00046 #include "X3DTypes.h" 00047 #include "X3DGeometryNode.h" 00048 00049 namespace X3DTK { 00050 namespace X3D { 00051 00052 class X3DColorNode; 00053 class X3DCoordinateNode; 00054 00059 class PointSet : public X3DGeometryNode 00060 { 00061 public: 00063 PointSet(); 00065 PointSet(const X3DColorNode *color, 00066 const X3DCoordinateNode *coord); 00068 virtual SFNode clone() const; 00070 virtual ~PointSet(); 00071 00073 void setColor(const X3DColorNode *color); 00075 void setCoord(const X3DCoordinateNode *coord); 00076 00078 inline SFNode getColor() const {return _color;}; 00080 inline SFNode getCoord() const {return _coord;}; 00081 00084 virtual bool addChild(const SFAbstractNode &N); 00087 virtual bool setChild(const SFAbstractNode &N); 00089 virtual bool removeChild(const SFAbstractNode &N); 00090 00091 protected: 00093 PointSet(const PointSet &P); 00094 00095 private: 00097 SFNode _color; 00099 SFNode _coord; 00100 }; 00101 00102 } 00103 } 00104 00105 #endif