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

vpcylinder.h

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 // ChangeLog is at the implementation file
00006 
00007 #ifndef __VPCYLINDER_H
00008 #define __VPCYLINDER_H
00009 
00010 #include "vpgraphicobj.h"
00011 #include "vpmaterial.h"
00012 
00015 
00017 // It is up to the Draw methods to make the above statement true.
00018 class VPCylinder : public VPGraphicObj {
00019     public:
00021 
00023         VPCylinder();
00024         VPCylinder( float fHi, float fRad );
00025         VPCylinder( float fHi, float fRad, bool bS, bool bT, bool bB );
00026 
00028         virtual void ComputeBoundingBox();
00029 
00030         void    SetHeight( float h );
00031         void    SetRadius( float r );
00033         void SetMaterial(const VPMaterial& mat) { material = mat; }
00034         void    ShowSide( bool yesno );
00035         void    ShowTop( bool yesno );
00036         void    ShowBottom( bool yesno );
00037         float   GetHeight();
00038         float   GetRadius();
00040         VPMaterial GetMaterial() const { return material; }
00041         bool    ShowSide();
00042         bool    ShowTop();
00043         bool    ShowBottom();
00044     private:
00045     // PRIVATE METHODS
00048         bool DrawInstanceOGL() const;
00049     // PRIVATE ATTRIBUTES
00050         float height;
00051         float radius;
00052         bool side;
00053         bool top;
00054         bool bottom;
00055         VPMaterial material;
00056 };
00057 
00058 #endif

Generated on Tue Sep 6 10:00:03 2005 for VPAT by  doxygen 1.4.4