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 _CIvfCone_h_
00026 #define _CIvfCone_h_
00027
00028 #include <ivf/IvfShape.h>
00029 #include <ivf/IvfSelectionBox.h>
00030
00031 IvfSmartPointer(CIvfCone);
00032
00042 class IVF_API CIvfCone : public CIvfShape {
00043 public:
00045 CIvfCone ();
00046
00048 virtual ~CIvfCone ();
00049
00050 IvfClassInfo("CIvfCone",CIvfShape);
00051
00053 void setTopRadius (const double radius);
00054
00056 double getTopRadius ();
00057
00059 void setBottomRadius (const double radius);
00060
00062 double getBottomRadius ();
00063
00065 void setHeight (const double height);
00066
00068 double getHeight ();
00069
00077 void setStacks(int stacks);
00078
00080 int getStacks();
00081
00089 void setSlices(int slices);
00090
00092 int getSlices();
00093
00099 void updateBoundingSphere();
00100 private:
00101 void updateSelectBox();
00102 CIvfSelectionBox* m_selectionBox;
00103 int m_stacks;
00104 int m_slices;
00105 double m_height;
00106 double m_topRadius;
00107 double m_bottomRadius;
00108 protected:
00109 virtual void createSelect();
00110 virtual void createGeometry();
00111 };
00112 #endif