00001 #ifndef X3DTK_GL_CONE_H 00002 #define X3DTK_GL_CONE_H 00003 00004 #include "GL_X3DGeometryNode.h" 00005 00006 namespace X3DTK { 00007 namespace GL { 00008 00009 class ConeDrawArray; 00010 00017 class Cone : public X3DGeometryNode 00018 { 00019 public: 00021 Cone(); 00023 virtual ~Cone(); 00024 00026 void setBottomRadius(const SFFloat &bottomRadius); 00028 void setHeight(const SFFloat &height); 00030 void setSide(const SFBool &side); 00032 void setBottom(const SFBool &bottom); 00034 void setConeArray(ConeDrawArray *coneArray); 00035 00037 inline const SFFloat &getBottomRadius() const {return _bottomRadius;}; 00039 inline const SFFloat &getHeight() const {return _height;}; 00041 inline const SFBool &getSide() const {return _side;}; 00043 inline const SFBool &getBottom() const {return _bottom;}; 00045 inline ConeDrawArray *getConeArray() const {return _coneArray;}; 00046 00048 virtual void update(); 00050 virtual void draw() const; 00051 00052 private: 00054 SFFloat _bottomRadius; 00056 SFFloat _height; 00058 SFBool _side; 00060 SFBool _bottom; 00062 ConeDrawArray *_coneArray; 00063 }; 00064 00065 } 00066 } 00067 00068 #endif