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_COMMON_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.0f,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
00137
protected:
00138 vtkLocator();
00139 ~vtkLocator();
00140
00141 vtkDataSet *DataSet;
00142 int Automatic;
00143 double Tolerance;
00144 int MaxLevel;
00145 int Level;
00146 int RetainCellLists;
00147
00148 vtkTimeStamp BuildTime;
00149
00150
private:
00151 vtkLocator(
const vtkLocator&);
00152
void operator=(
const vtkLocator&);
00153 };
00154
00155
#endif
00156
00157