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 00013 class X3DColorNode; 00014 class X3DCoordinateNode; 00015 00020 class PointSet : public X3DGeometryNode 00021 { 00022 public: 00024 PointSet(); 00026 PointSet(const X3DColorNode *color, 00027 const X3DCoordinateNode *coord); 00029 virtual SFNode clone() const; 00031 ~PointSet(); 00032 00034 void setColor(const X3DColorNode *color); 00036 void setCoord(const X3DCoordinateNode *coord); 00037 00039 inline SFNode getColor() const {return color_;}; 00041 inline SFNode getCoord() const {return coord_;}; 00042 00045 bool addChild(const SFNode &N); 00048 bool setChild(const SFNode &N); 00050 bool removeChild(const SFNode &N); 00051 00052 protected: 00054 PointSet(const PointSet &P); 00055 00057 virtual void removeScenesToChildren(const MFScene &sceneList); 00059 virtual void addScenesToChildren(const MFScene &sceneList); 00060 00061 private: 00062 SFNode color_; 00063 SFNode coord_; 00064 }; 00065 00066 } 00067 00068 #endif