00001 #ifndef X3DTK_X3D_CONE_H 00002 #define X3DTK_X3D_CONE_H 00003 00004 #include "X3DTypes.h" 00005 #include "X3D_X3DGeometry3DNode.h" 00006 00007 namespace X3DTK { 00008 namespace X3D { 00009 00018 class Cone : public X3DGeometry3DNode 00019 { 00020 public: 00022 Cone(); 00024 Cone(const SFFloat &bottomRadius, 00025 const SFFloat &height, 00026 const SFBool &side, 00027 const SFBool &bottom); 00029 virtual SFAbstractNode clone() const; 00031 virtual ~Cone(); 00032 00034 void setBottomRadius(const SFFloat &bottomRadius); 00036 void setHeight(const SFFloat &height); 00038 void setSide(const SFBool &side); 00040 void setBottom(const SFBool &bottom); 00041 00043 inline const SFFloat &getBottomRadius() const {return _bottomRadius;}; 00045 inline const SFFloat &getHeight() const {return _height;}; 00047 inline const SFBool &getSide() const {return _side;}; 00049 inline const SFBool &getBottom() const {return _bottom;}; 00050 00052 virtual void load(const X3DFileElement *element); 00054 virtual SFString &write(SFString &output) const; 00055 00056 protected: 00058 Cone(const Cone &C); 00059 00060 private: 00062 SFFloat _bottomRadius; 00064 SFFloat _height; 00066 SFBool _side; 00068 SFBool _bottom; 00069 }; 00070 00071 } 00072 } 00073 00074 #endif