00001 #ifndef X3DTK_GL_SPHERE_H 00002 #define X3DTK_GL_SPHERE_H 00003 00004 #include "GL_X3DGeometryNode.h" 00005 00006 namespace X3DTK { 00007 namespace GL { 00008 00009 class SphereDrawArray; 00010 00017 class Sphere : public X3DGeometryNode 00018 { 00019 public: 00021 Sphere(); 00023 virtual ~Sphere(); 00024 00026 void setRadius(const SFFloat &radius); 00028 void setSphereDrawArray(SphereDrawArray *sphereArray); 00029 00031 inline const SFFloat &getRadius() const {return _radius;}; 00033 inline SphereDrawArray *getSphereArray() const {return _sphereArray;}; 00034 00036 virtual void update(); 00038 virtual void draw() const; 00039 00040 private: 00042 SFFloat _radius; 00044 SphereDrawArray *_sphereArray; 00045 }; 00046 00047 } 00048 } 00049 00050 #endif