00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00031 #ifndef __vtkCylinderSource_h
00032 #define __vtkCylinderSource_h
00033 
00034 #include "vtkPolyDataAlgorithm.h"
00035 
00036 #include "vtkCell.h" 
00037 
00038 class VTK_GRAPHICS_EXPORT vtkCylinderSource : public vtkPolyDataAlgorithm 
00039 {
00040 public:
00041   static vtkCylinderSource *New();
00042   vtkTypeRevisionMacro(vtkCylinderSource,vtkPolyDataAlgorithm);
00043   void PrintSelf(ostream& os, vtkIndent indent);
00044 
00046 
00047   vtkSetClampMacro(Height,double,0.0,VTK_DOUBLE_MAX)
00048   vtkGetMacro(Height,double);
00050 
00052 
00053   vtkSetClampMacro(Radius,double,0.0,VTK_DOUBLE_MAX)
00054   vtkGetMacro(Radius,double);
00056 
00058 
00059   vtkSetVector3Macro(Center,double);
00060   vtkGetVectorMacro(Center,double,3);
00062 
00064 
00065   vtkSetClampMacro(Resolution,int,2,VTK_CELL_SIZE)
00066   vtkGetMacro(Resolution,int);
00068 
00070 
00071   vtkSetMacro(Capping,int);
00072   vtkGetMacro(Capping,int);
00073   vtkBooleanMacro(Capping,int);
00075 
00076 protected:
00077   vtkCylinderSource(int res=6);
00078   ~vtkCylinderSource() {};
00079 
00080   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00081   double Height;
00082   double Radius;
00083   double Center[3];
00084   int Resolution;
00085   int Capping;
00086 
00087 private:
00088   vtkCylinderSource(const vtkCylinderSource&);  
00089   void operator=(const vtkCylinderSource&);  
00090 };
00091 
00092 #endif