00001 00002 // GLCone.h // 00004 00005 #ifndef GLCONE_H 00006 #define GLCONE_H 00007 00008 #include "X3DGLGeometry3DNode.h" 00009 00010 namespace X3DTK { 00011 namespace GL { 00012 00013 class ConeDrawArray; 00014 00017 00018 class Cone : public X3DGeometry3DNode 00019 { 00020 public: 00022 Cone(); 00024 virtual SFNode clone() const; 00026 virtual ~Cone(); 00027 00029 void setBottomRadius(SFFloat bottomRadius); 00031 void setHeight(SFFloat height); 00033 void setSide(SFBool side); 00035 void setBottom(SFBool bottom); 00037 void setConeArray(ConeDrawArray *coneArray); 00038 00040 inline SFFloat getBottomRadius() const {return _bottomRadius;}; 00042 inline SFFloat getHeight() const {return _height;}; 00044 inline SFBool getSide() const {return _side;}; 00046 inline SFBool getBottom() const {return _bottom;}; 00048 inline ConeDrawArray *getConeArray() const {return _coneArray;}; 00049 00051 virtual void update(); 00053 virtual void render() const; 00054 00055 protected: 00057 Cone(const Cone &C); 00058 00060 SFFloat _bottomRadius; 00062 SFFloat _height; 00064 SFBool _side; 00066 SFBool _bottom; 00068 ConeDrawArray *_coneArray; 00069 }; 00070 00071 } 00072 } 00073 00074 #endif