Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

GL_Cylinder.h

Go to the documentation of this file.
00001 #ifndef X3DTK_GL_CYLINDER_H
00002 #define X3DTK_GL_CYLINDER_H
00003 
00004 #include "GL_X3DGeometry3DNode.h"
00005 
00006 namespace X3DTK {
00007 namespace GL {
00008 
00009 class CylinderDrawArray;
00010 
00017 class Cylinder : public X3DGeometry3DNode
00018 {
00019 public:
00021   Cylinder();
00023   virtual SFAbstractNode clone() const;
00025   virtual ~Cylinder();
00026   
00028   void setRadius(const SFFloat &radius);
00030   void setHeight(const SFFloat &height);
00032   void setSide(const SFBool &side);
00034   void setBottom(const SFBool &bottom);
00036   void setTop(const SFBool &top);
00038   void setCylinderArray(CylinderDrawArray *cylinderArray);
00039   
00041   inline const SFFloat &getRadius() const {return _radius;};
00043   inline const SFFloat &getHeight() const {return _height;};
00045   inline const SFBool &getSide() const {return _side;};
00047   inline const SFBool &getBottom() const {return _bottom;};
00049   inline const SFBool &getTop() const {return _top;};
00051   inline CylinderDrawArray *getCylinderArray() const {return _cylinderArray;};
00052   
00054   virtual void update();
00056   virtual void draw() const; 
00057 
00058 protected: 
00060   Cylinder(const Cylinder &C);
00061 
00062 private:  
00064   SFFloat _radius;
00066   SFFloat _height;
00068   SFBool _side;
00070   SFBool _bottom;
00072   SFBool _top;
00074   CylinderDrawArray *_cylinderArray;
00075 };
00076 
00077 }
00078 }
00079 
00080 #endif

Generated on Thu Jun 3 10:12:08 2004 for X3DToolKit by doxygen 1.3.6