00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _CIvfSphere_h_
00026 #define _CIvfSphere_h_
00027
00028 #include <ivf/IvfShape.h>
00029 #include <ivf/IvfSelectionBox.h>
00030
00031 IvfSmartPointer(CIvfSphere);
00032
00037 class IVF_API CIvfSphere : public CIvfShape {
00038 public:
00040 CIvfSphere ();
00041
00043 virtual ~CIvfSphere ();
00044
00045 IvfClassInfo("CIvfSphere",CIvfShape);
00046
00048 void setRadius (double radius);
00049
00051 double getRadius ();
00052
00054 void setStacks(int stacks);
00055
00057 int getStacks();
00058
00060 void setSlices(int slices);
00061
00063 int getSlices();
00064
00066 void updateBoundingSphere();
00067
00068 private:
00069 void updateSelectBox();
00070 CIvfSelectionBox* m_selectionBox;
00071 int m_stacks;
00072 int m_slices;
00073 double m_radius;
00074 GLUquadricObj* m_qobj;
00075 protected:
00076 virtual void createSelect();
00077 virtual void createGeometry();
00078
00079 };
00080 #endif