00001
00002
00003
00005
00006
00011
00016
00021
00023
00024 #ifndef CYLINDER_H
00025 #define CYLINDER_H
00026
00027 #include "X3DTypes.h"
00028 #include "X3DGeometry3DNode.h"
00029
00030 namespace X3DTK {
00031 namespace X3D {
00032
00037
00038 class Cylinder : public X3DGeometry3DNode
00039 {
00040 public:
00042 Cylinder();
00044 Cylinder(SFBool bottom,
00045 SFFloat radius,
00046 SFFloat height,
00047 SFBool side,
00048 SFBool top);
00050 virtual SFNode clone() const;
00052 virtual ~Cylinder();
00053
00055 void setBottom(SFBool bottom);
00057 void setRadius(SFFloat radius);
00059 void setHeight(SFFloat height);
00061 void setSide(SFBool side);
00063 void setTop(SFBool top);
00064
00066 inline SFBool getBottom() const {return _bottom;};
00068 inline SFFloat getRadius() const {return _radius;};
00070 inline SFFloat getHeight() const {return _height;};
00072 inline SFBool getSide() const {return _side;};
00074 inline SFBool getTop() const {return _top;};
00075
00077 virtual void load(const X3DFileElement *element);
00079 virtual SFString write() const;
00080
00081 protected:
00083 Cylinder(const Cylinder &C);
00084
00085 private:
00087 SFBool _bottom;
00089 SFFloat _radius;
00091 SFFloat _height;
00093 SFBool _side;
00095 SFBool _top;
00096 };
00097
00098 }
00099 }
00100
00101 #endif