00001 #ifndef X3DTK_GL_SPHERE_H 00002 #define X3DTK_GL_SPHERE_H 00003 00004 #include "GL_X3DGeometry3DNode.h" 00005 00006 namespace X3DTK { 00007 namespace GL { 00008 00009 class SphereDrawArray; 00010 00017 class Sphere : public X3DGeometry3DNode 00018 { 00019 public: 00021 Sphere(); 00023 virtual SFNode clone() const; 00025 virtual ~Sphere(); 00026 00028 void setRadius(const SFFloat &radius); 00030 void setSphereDrawArray(SphereDrawArray *sphereArray); 00031 00033 inline const SFFloat &getRadius() const {return _radius;}; 00035 inline SphereDrawArray *getSphereArray() const {return _sphereArray;}; 00036 00038 virtual void update(); 00040 virtual void draw() const; 00041 00042 protected: 00044 Sphere(const Sphere &S); 00045 00046 private: 00048 SFFloat _radius; 00050 SphereDrawArray *_sphereArray; 00051 }; 00052 00053 } 00054 } 00055 00056 #endif