00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00035 #ifndef __vtkImplicitWindowFunction_h
00036 #define __vtkImplicitWindowFunction_h
00037
00038 #include "vtkImplicitFunction.h"
00039
00040 class VTK_FILTERING_EXPORT vtkImplicitWindowFunction : public vtkImplicitFunction
00041 {
00042 public:
00043 vtkTypeRevisionMacro(vtkImplicitWindowFunction,vtkImplicitFunction);
00044 void PrintSelf(ostream& os, vtkIndent indent);
00045
00047 static vtkImplicitWindowFunction *New();
00048
00050
00051 double EvaluateFunction(double x[3]);
00052 double EvaluateFunction(double x, double y, double z)
00053 {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ;
00055
00058 void EvaluateGradient(double x[3], double n[3]);
00059
00061
00062 virtual void SetImplicitFunction(vtkImplicitFunction*);
00063 vtkGetObjectMacro(ImplicitFunction,vtkImplicitFunction);
00065
00067
00070 vtkSetVector2Macro(WindowRange,double);
00071 vtkGetVectorMacro(WindowRange,double,2);
00073
00075
00078 vtkSetVector2Macro(WindowValues,double);
00079 vtkGetVectorMacro(WindowValues,double,2);
00081
00083 unsigned long GetMTime();
00084
00086
00087 virtual void Register(vtkObjectBase* o);
00088 virtual void UnRegister(vtkObjectBase* o);
00090
00091 protected:
00092 vtkImplicitWindowFunction();
00093 ~vtkImplicitWindowFunction();
00094
00095 virtual void ReportReferences(vtkGarbageCollector*);
00096
00097 vtkImplicitFunction *ImplicitFunction;
00098 double WindowRange[2];
00099 double WindowValues[2];
00100
00101 private:
00102 vtkImplicitWindowFunction(const vtkImplicitWindowFunction&);
00103 void operator=(const vtkImplicitWindowFunction&);
00104 };
00105
00106 #endif
00107
00108