00001
00002
00004
00005 #ifndef CYLINDER_H
00006 #define CYLINDER_H
00007
00008 #include "X3DTypes.h"
00009 #include "X3DGeometry3DNode.h"
00010
00011 namespace X3DTK {
00012
00017
00018 class Cylinder : public X3DGeometry3DNode
00019 {
00020 public:
00022 Cylinder();
00024 Cylinder(SFBool bottom,
00025 SFFloat radius,
00026 SFFloat height,
00027 SFBool side,
00028 SFBool top);
00030 virtual SFNode clone() const;
00032 ~Cylinder();
00033
00035 void setBottom(SFBool bottom);
00037 void setRadius(SFFloat radius);
00039 void setHeight(SFFloat height);
00041 void setSide(SFBool side);
00043 void setTop(SFBool top);
00044
00046 inline SFBool getBottom() const {return bottom_;};
00048 inline SFFloat getRadius() const {return radius_;};
00050 inline SFFloat getHeight() const {return height_;};
00052 inline SFBool getSide() const {return side_;};
00054 inline SFBool getTop() const {return top_;};
00055
00057 virtual void loadAttributes(const X3DFileElement *element);
00059 virtual SFString writeAttributes() const;
00060
00061 protected:
00063 Cylinder(const Cylinder &C);
00064
00065 private:
00066 SFBool bottom_;
00067 SFFloat radius_;
00068 SFFloat height_;
00069 SFBool side_;
00070 SFBool top_;
00071 };
00072
00073 }
00074
00075 #endif