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 vtkTypeRevisionMacro(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);
00067 protected:
00068 vtkCylinder();
00069 ~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