00001 00002 00003 00005 00006 00011 00016 00021 // GLCone.h // 00023 00024 #ifndef GLCONE_H 00025 #define GLCONE_H 00026 00027 #include "X3DGLGeometry3DNode.h" 00028 00029 namespace X3DTK { 00030 namespace GL { 00031 00032 class ConeDrawArray; 00033 00036 00037 class Cone : public X3DGeometry3DNode 00038 { 00039 public: 00041 Cone(); 00043 virtual SFNode clone() const; 00045 virtual ~Cone(); 00046 00048 void setBottomRadius(SFFloat bottomRadius); 00050 void setHeight(SFFloat height); 00052 void setSide(SFBool side); 00054 void setBottom(SFBool bottom); 00056 void setConeArray(ConeDrawArray *coneArray); 00057 00059 inline SFFloat getBottomRadius() const {return _bottomRadius;}; 00061 inline SFFloat getHeight() const {return _height;}; 00063 inline SFBool getSide() const {return _side;}; 00065 inline SFBool getBottom() const {return _bottom;}; 00067 inline ConeDrawArray *getConeArray() const {return _coneArray;}; 00068 00070 virtual void update(); 00072 virtual void render() const; 00073 00074 protected: 00076 Cone(const Cone &C); 00077 00079 SFFloat _bottomRadius; 00081 SFFloat _height; 00083 SFBool _side; 00085 SFBool _bottom; 00087 ConeDrawArray *_coneArray; 00088 }; 00089 00090 } 00091 } 00092 00093 #endif