00001 00002 // X3D_PointSet.h // 00004 00005 #ifndef POINTSET_H 00006 #define POINTSET_H 00007 00008 #include "X3DTypes.h" 00009 #include "X3D_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(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 getChildrenList() 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