00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00052 #ifndef __vtkLocator_h
00053 #define __vtkLocator_h
00054
00055 #include "vtkObject.h"
00056
00057 class vtkDataSet;
00058 class vtkPolyData;
00059
00060 class VTK_FILTERING_EXPORT vtkLocator : public vtkObject
00061 {
00062 public:
00063 vtkTypeMacro(vtkLocator,vtkObject);
00064 void PrintSelf(ostream& os, vtkIndent indent);
00065
00067
00068 virtual void SetDataSet(vtkDataSet*);
00069 vtkGetObjectMacro(DataSet,vtkDataSet);
00071
00073
00076 vtkSetClampMacro(MaxLevel,int,0,VTK_LARGE_INTEGER);
00077 vtkGetMacro(MaxLevel,int);
00079
00081
00084 vtkGetMacro(Level,int);
00086
00088
00092 vtkSetMacro(Automatic,int);
00093 vtkGetMacro(Automatic,int);
00094 vtkBooleanMacro(Automatic,int);
00096
00098
00100 vtkSetClampMacro(Tolerance,double,0.0,VTK_DOUBLE_MAX);
00101 vtkGetMacro(Tolerance,double);
00103
00106 virtual void Update();
00107
00109 virtual void Initialize();
00110
00112 virtual void BuildLocator() = 0;
00113
00115 virtual void FreeSearchStructure() = 0;
00116
00121 virtual void GenerateRepresentation(int level, vtkPolyData *pd) = 0;
00122
00124
00125 vtkGetMacro(BuildTime, unsigned long);
00127
00129
00130 virtual void Register(vtkObjectBase *o);
00131 virtual void UnRegister(vtkObjectBase *o);
00133 protected:
00134 vtkLocator();
00135 ~vtkLocator();
00136
00137 vtkDataSet *DataSet;
00138 int Automatic;
00139 double Tolerance;
00140 int MaxLevel;
00141 int Level;
00142
00143 vtkTimeStamp BuildTime;
00144
00145 virtual void ReportReferences(vtkGarbageCollector*);
00146 private:
00147 vtkLocator(const vtkLocator&);
00148 void operator=(const vtkLocator&);
00149 };
00150
00151 #endif
00152
00153