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 vtkTypeRevisionMacro(vtkLocator,vtkObject);
00064 void PrintSelf(ostream& os, vtkIndent indent);
00065
00067
00068 virtual void SetDataSet(vtkDataSet*);
00069 vtkGetObjectMacro(DataSet,vtkDataSet);
00071
00073
00075 vtkSetClampMacro(MaxLevel,int,0,VTK_LARGE_INTEGER);
00076 vtkGetMacro(MaxLevel,int);
00078
00080
00083 vtkGetMacro(Level,int);
00085
00087
00091 vtkSetMacro(Automatic,int);
00092 vtkGetMacro(Automatic,int);
00093 vtkBooleanMacro(Automatic,int);
00095
00097
00099 vtkSetClampMacro(Tolerance,double,0.0,VTK_DOUBLE_MAX);
00100 vtkGetMacro(Tolerance,double);
00102
00104
00108 vtkSetMacro(RetainCellLists,int);
00109 vtkGetMacro(RetainCellLists,int);
00110 vtkBooleanMacro(RetainCellLists,int);
00112
00115 virtual void Update();
00116
00118 virtual void Initialize();
00119
00121 virtual void BuildLocator() = 0;
00122
00124 virtual void FreeSearchStructure() = 0;
00125
00130 virtual void GenerateRepresentation(int level, vtkPolyData *pd) = 0;
00131
00133
00134 vtkGetMacro(BuildTime, unsigned long);
00136
00138
00139 virtual void Register(vtkObjectBase *o);
00140 virtual void UnRegister(vtkObjectBase *o);
00142 protected:
00143 vtkLocator();
00144 ~vtkLocator();
00145
00146 vtkDataSet *DataSet;
00147 int Automatic;
00148 double Tolerance;
00149 int MaxLevel;
00150 int Level;
00151 int RetainCellLists;
00152
00153 vtkTimeStamp BuildTime;
00154
00155 virtual void ReportReferences(vtkGarbageCollector*);
00156 private:
00157 vtkLocator(const vtkLocator&);
00158 void operator=(const vtkLocator&);
00159 };
00160
00161 #endif
00162
00163