00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00042 #ifndef __vtkImplicitDataSet_h
00043 #define __vtkImplicitDataSet_h
00044
00045 #include "vtkImplicitFunction.h"
00046
00047 class vtkDataSet;
00048
00049 class VTK_FILTERING_EXPORT vtkImplicitDataSet : public vtkImplicitFunction
00050 {
00051 public:
00052 vtkTypeRevisionMacro(vtkImplicitDataSet,vtkImplicitFunction);
00053 void PrintSelf(ostream& os, vtkIndent indent);
00054
00057 static vtkImplicitDataSet *New();
00058
00060 unsigned long GetMTime();
00061
00063
00065 double EvaluateFunction(double x[3]);
00066 double EvaluateFunction(double x, double y, double z)
00067 {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ;
00069
00071 void EvaluateGradient(double x[3], double n[3]);
00072
00074
00075 virtual void SetDataSet(vtkDataSet*);
00076 vtkGetObjectMacro(DataSet,vtkDataSet);
00078
00080
00082 vtkSetMacro(OutValue,double);
00083 vtkGetMacro(OutValue,double);
00085
00087
00089 vtkSetVector3Macro(OutGradient,double);
00090 vtkGetVector3Macro(OutGradient,double);
00092
00093 protected:
00094 vtkImplicitDataSet();
00095 ~vtkImplicitDataSet();
00096
00097 virtual void ReportReferences(vtkGarbageCollector*);
00098
00099 vtkDataSet *DataSet;
00100 double OutValue;
00101 double OutGradient[3];
00102
00103 double *Weights;
00104 int Size;
00105
00106 private:
00107 vtkImplicitDataSet(const vtkImplicitDataSet&);
00108 void operator=(const vtkImplicitDataSet&);
00109 };
00110
00111 #endif
00112
00113