Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

Common/vtkLocator.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkLocator.h,v $
00005   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00066 #ifndef __vtkLocator_h
00067 #define __vtkLocator_h
00068 
00069 #include "vtkObject.h"
00070 
00071 class vtkDataSet;
00072 class vtkPolyData;
00073 
00074 class VTK_COMMON_EXPORT vtkLocator : public vtkObject
00075 {
00076 public:
00077   vtkTypeRevisionMacro(vtkLocator,vtkObject);
00078   void PrintSelf(ostream& os, vtkIndent indent);
00079 
00081 
00082   virtual void SetDataSet(vtkDataSet*);
00083   vtkGetObjectMacro(DataSet,vtkDataSet);
00085 
00087 
00089   vtkSetClampMacro(MaxLevel,int,0,VTK_LARGE_INTEGER);
00090   vtkGetMacro(MaxLevel,int);
00092 
00094 
00097   vtkGetMacro(Level,int);
00099 
00101 
00105   vtkSetMacro(Automatic,int);
00106   vtkGetMacro(Automatic,int);
00107   vtkBooleanMacro(Automatic,int);
00109 
00111 
00113   vtkSetClampMacro(Tolerance,float,0.0f,VTK_LARGE_FLOAT);
00114   vtkGetMacro(Tolerance,float);
00116 
00118 
00122   vtkSetMacro(RetainCellLists,int);
00123   vtkGetMacro(RetainCellLists,int);
00124   vtkBooleanMacro(RetainCellLists,int);
00126 
00129   virtual void Update();
00130 
00132   virtual void Initialize();
00133 
00135   virtual void BuildLocator() = 0;
00136 
00138   virtual void FreeSearchStructure() = 0;
00139 
00144   virtual void GenerateRepresentation(int level, vtkPolyData *pd) = 0;
00145 
00147 
00148   vtkGetMacro(BuildTime, unsigned long);
00150 
00151 protected:
00152   vtkLocator();
00153   ~vtkLocator();
00154 
00155   vtkDataSet *DataSet;
00156   int Automatic; // boolean controls automatic subdivision (or uses user spec.)
00157   float Tolerance; // for performing merging
00158   int MaxLevel;
00159   int Level;
00160   int RetainCellLists;
00161 
00162   vtkTimeStamp BuildTime;  // time at which locator was built
00163 
00164 private:
00165   vtkLocator(const vtkLocator&);  // Not implemented.
00166   void operator=(const vtkLocator&);  // Not implemented.
00167 };
00168 
00169 #endif
00170 
00171