00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00056
#ifndef __vtkLocator_h
00057
#define __vtkLocator_h
00058
00059
#include "vtkObject.h"
00060
00061
class vtkDataSet;
00062
class vtkPolyData;
00063
00064 class VTK_COMMON_EXPORT vtkLocator :
public vtkObject
00065 {
00066
public:
00067 vtkTypeRevisionMacro(vtkLocator,
vtkObject);
00068
void PrintSelf(ostream& os,
vtkIndent indent);
00069
00071
00072
virtual void SetDataSet(
vtkDataSet*);
00073 vtkGetObjectMacro(DataSet,
vtkDataSet);
00075
00077
00079 vtkSetClampMacro(MaxLevel,
int,0,VTK_LARGE_INTEGER);
00080 vtkGetMacro(MaxLevel,
int);
00082
00084
00087 vtkGetMacro(Level,
int);
00089
00091
00095 vtkSetMacro(Automatic,
int);
00096 vtkGetMacro(Automatic,
int);
00097 vtkBooleanMacro(Automatic,
int);
00099
00101
00103 vtkSetClampMacro(Tolerance,
float,0.0f,VTK_LARGE_FLOAT);
00104 vtkGetMacro(Tolerance,
float);
00106
00108
00112 vtkSetMacro(RetainCellLists,
int);
00113 vtkGetMacro(RetainCellLists,
int);
00114 vtkBooleanMacro(RetainCellLists,
int);
00116
00119
virtual void Update();
00120
00122
virtual void Initialize();
00123
00125
virtual void BuildLocator() = 0;
00126
00128
virtual void FreeSearchStructure() = 0;
00129
00134
virtual void GenerateRepresentation(
int level,
vtkPolyData *pd) = 0;
00135
00137
00138 vtkGetMacro(BuildTime,
unsigned long);
00140
00141
protected:
00142 vtkLocator();
00143 ~vtkLocator();
00144
00145 vtkDataSet *DataSet;
00146 int Automatic;
00147 float Tolerance;
00148 int MaxLevel;
00149 int Level;
00150 int RetainCellLists;
00151
00152 vtkTimeStamp BuildTime;
00153
00154
private:
00155 vtkLocator(
const vtkLocator&);
00156
void operator=(
const vtkLocator&);
00157 };
00158
00159
#endif
00160
00161