00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00031 #ifndef __vtkImplicitHalo_h
00032 #define __vtkImplicitHalo_h
00033
00034 #include "vtkImplicitFunction.h"
00035
00036 class VTK_FILTERING_EXPORT vtkImplicitHalo : public vtkImplicitFunction
00037 {
00038 public:
00040 static vtkImplicitHalo *New();
00041
00042 vtkTypeMacro(vtkImplicitHalo,vtkImplicitFunction);
00043 void PrintSelf(ostream& os, vtkIndent indent);
00044
00046
00047 virtual double EvaluateFunction(double x[3]);
00048 virtual double EvaluateFunction(double x, double y, double z)
00049 {
00050 return this->vtkImplicitFunction::EvaluateFunction(x, y, z);
00051 }
00053
00055 void EvaluateGradient(double x[3], double g[3]);
00056
00058
00059 vtkSetMacro(Radius,double);
00060 vtkGetMacro(Radius,double);
00062
00064
00065 vtkSetVector3Macro(Center,double);
00066 vtkGetVector3Macro(Center,double);
00068
00070
00071 vtkSetMacro(FadeOut,double);
00072 vtkGetMacro(FadeOut,double);
00074
00075 protected:
00076 vtkImplicitHalo();
00077 virtual ~vtkImplicitHalo();
00078
00079 double Radius;
00080 double Center[3];
00081 double FadeOut;
00082
00083 private:
00084 vtkImplicitHalo(const vtkImplicitHalo&);
00085 void operator=(const vtkImplicitHalo&);
00086 };
00087
00088 #endif