00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00035 #ifndef __vtkConeSource_h
00036 #define __vtkConeSource_h
00037
00038 #include "vtkPolyDataAlgorithm.h"
00039
00040 #include "vtkCell.h"
00041
00042 class VTK_GRAPHICS_EXPORT vtkConeSource : public vtkPolyDataAlgorithm
00043 {
00044 public:
00045 vtkTypeMacro(vtkConeSource,vtkPolyDataAlgorithm);
00046 void PrintSelf(ostream& os, vtkIndent indent);
00047
00051 static vtkConeSource *New();
00052
00054
00056 vtkSetClampMacro(Height,double,0.0,VTK_DOUBLE_MAX)
00057 vtkGetMacro(Height,double);
00059
00061
00062 vtkSetClampMacro(Radius,double,0.0,VTK_DOUBLE_MAX)
00063 vtkGetMacro(Radius,double);
00065
00067
00068 vtkSetClampMacro(Resolution,int,0,VTK_CELL_SIZE)
00069 vtkGetMacro(Resolution,int);
00071
00073
00076 vtkSetVector3Macro(Center,double);
00077 vtkGetVectorMacro(Center,double,3);
00079
00081
00084 vtkSetVector3Macro(Direction,double);
00085 vtkGetVectorMacro(Direction,double,3);
00087
00089
00093 void SetAngle (double angle);
00094 double GetAngle ();
00096
00098
00099 vtkSetMacro(Capping,int);
00100 vtkGetMacro(Capping,int);
00101 vtkBooleanMacro(Capping,int);
00103
00104 protected:
00105 vtkConeSource(int res=6);
00106 ~vtkConeSource() {}
00107
00108 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00109 int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00110
00111 double Height;
00112 double Radius;
00113 int Resolution;
00114 int Capping;
00115 double Center[3];
00116 double Direction[3];
00117
00118 private:
00119 vtkConeSource(const vtkConeSource&);
00120 void operator=(const vtkConeSource&);
00121 };
00122
00123 #endif
00124
00125