00001
00002
00003
00005
00006
00011
00016
00021
00023
00024 #ifndef CONE_H
00025 #define CONE_H
00026
00027 #include "X3DTypes.h"
00028 #include "X3DGeometry3DNode.h"
00029
00030 namespace X3DTK {
00031 namespace X3D {
00032
00037
00038 class Cone : public X3DGeometry3DNode
00039 {
00040 public:
00042 Cone();
00044 Cone(SFFloat bottomRadius,
00045 SFFloat height,
00046 SFBool side,
00047 SFBool bottom);
00049 virtual SFNode clone() const;
00051 virtual ~Cone();
00052
00054 void setBottomRadius(SFFloat bottomRadius);
00056 void setHeight(SFFloat height);
00058 void setSide(SFBool side);
00060 void setBottom(SFBool bottom);
00061
00063 inline SFFloat getBottomRadius() const {return _bottomRadius;};
00065 inline SFFloat getHeight() const {return _height;};
00067 inline SFBool getSide() const {return _side;};
00069 inline SFBool getBottom() const {return _bottom;};
00070
00072 virtual void load(const X3DFileElement *element);
00074 virtual SFString write() const;
00075
00076 protected:
00078 Cone(const Cone &C);
00079
00080 private:
00082 SFFloat _bottomRadius;
00084 SFFloat _height;
00086 SFBool _side;
00088 SFBool _bottom;
00089 };
00090
00091 }
00092 }
00093
00094 #endif