00001
00002
00004
00005 #ifndef CONE_H
00006 #define CONE_H
00007
00008 #include "X3DTypes.h"
00009 #include "X3DGeometry3DNode.h"
00010
00011 namespace X3DTK {
00012 namespace X3D {
00013
00018
00019 class Cone : public X3DGeometry3DNode
00020 {
00021 public:
00023 Cone();
00025 Cone(SFFloat bottomRadius,
00026 SFFloat height,
00027 SFBool side,
00028 SFBool bottom);
00030 virtual SFNode clone() const;
00032 virtual ~Cone();
00033
00035 void setBottomRadius(SFFloat bottomRadius);
00037 void setHeight(SFFloat height);
00039 void setSide(SFBool side);
00041 void setBottom(SFBool bottom);
00042
00044 inline SFFloat getBottomRadius() const {return _bottomRadius;};
00046 inline SFFloat getHeight() const {return _height;};
00048 inline SFBool getSide() const {return _side;};
00050 inline SFBool getBottom() const {return _bottom;};
00051
00053 virtual void load(const X3DFileElement *element);
00055 virtual SFString write() const;
00056
00057 protected:
00059 Cone(const Cone &C);
00060
00061 private:
00063 SFFloat _bottomRadius;
00065 SFFloat _height;
00067 SFBool _side;
00069 SFBool _bottom;
00070 };
00071
00072 }
00073 }
00074
00075 #endif