00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00032 #ifndef __vtkCylinder_h
00033 #define __vtkCylinder_h
00034 
00035 #include "vtkImplicitFunction.h"
00036 
00037 class VTK_FILTERING_EXPORT vtkCylinder : public vtkImplicitFunction
00038 {
00039 public:
00040   vtkTypeMacro(vtkCylinder,vtkImplicitFunction);
00041   void PrintSelf(ostream& os, vtkIndent indent);
00042 
00044   static vtkCylinder *New();
00045 
00047 
00048   double EvaluateFunction(double x[3]);
00049   double EvaluateFunction(double x, double y, double z)
00050     {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ;
00052 
00054   void EvaluateGradient(double x[3], double g[3]);
00055 
00057 
00058   vtkSetMacro(Radius,double);
00059   vtkGetMacro(Radius,double);
00061 
00063 
00064   vtkSetVector3Macro(Center,double);
00065   vtkGetVectorMacro(Center,double,3);
00066 protected:
00067   vtkCylinder();
00068   ~vtkCylinder() {};
00070 
00071   double Radius;
00072   double Center[3];
00073 
00074 private:
00075   vtkCylinder(const vtkCylinder&);  
00076   void operator=(const vtkCylinder&);  
00077 };
00078 
00079 #endif
00080 
00081