00001
00002
00004
00005 #ifndef CYLINDER_H
00006 #define CYLINDER_H
00007
00008 #include "X3DTypes.h"
00009 #include "X3D_X3DGeometry3DNode.h"
00010
00011 namespace X3DTK {
00012 namespace X3D {
00013
00018
00019 class Cylinder : public X3DGeometry3DNode
00020 {
00021 public:
00023 Cylinder();
00025 Cylinder(const SFBool &bottom,
00026 const SFFloat &radius,
00027 const SFFloat &height,
00028 const SFBool &side,
00029 const SFBool &top);
00031 virtual SFAbstractNode clone() const;
00033 virtual ~Cylinder();
00034
00036 void setBottom(const SFBool &bottom);
00038 void setRadius(const SFFloat &radius);
00040 void setHeight(const SFFloat &height);
00042 void setSide(const SFBool &side);
00044 void setTop(const SFBool &top);
00045
00047 inline const SFBool &getBottom() const {return _bottom;};
00049 inline const SFFloat &getRadius() const {return _radius;};
00051 inline const SFFloat &getHeight() const {return _height;};
00053 inline const SFBool &getSide() const {return _side;};
00055 inline const SFBool &getTop() const {return _top;};
00056
00058 virtual void load(const X3DFileElement *element);
00060 virtual SFString &write(SFString &output) const;
00061
00062 protected:
00064 Cylinder(const Cylinder &C);
00065
00066 private:
00068 SFBool _bottom;
00070 SFFloat _radius;
00072 SFFloat _height;
00074 SFBool _side;
00076 SFBool _top;
00077 };
00078
00079 }
00080 }
00081
00082 #endif