00001 00002 00003 00005 00006 00011 00016 00021 // GLSphere.h // 00023 00024 #ifndef GLSPHERE_H 00025 #define GLSPHERE_H 00026 00027 #include "X3DGLGeometry3DNode.h" 00028 00029 namespace X3DTK { 00030 namespace GL { 00031 00032 class SphereDrawArray; 00033 00036 00037 class Sphere : public X3DGeometry3DNode 00038 { 00039 public: 00041 Sphere(); 00043 virtual SFNode clone() const; 00045 virtual ~Sphere(); 00046 00048 void setRadius(SFFloat radius); 00050 void setSphereDrawArray(SphereDrawArray *sphereArray); 00051 00053 inline SFFloat getRadius() const {return _radius;}; 00055 inline SphereDrawArray *getSphereArray() const {return _sphereArray;}; 00056 00058 virtual void update(); 00060 virtual void render() const; 00061 00062 protected: 00064 Sphere(const Sphere &S); 00065 00066 private: 00068 SFFloat _radius; 00070 SphereDrawArray *_sphereArray; 00071 }; 00072 00073 } 00074 } 00075 00076 #endif