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

dox/Common/vtkLocator.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkLocator.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 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; // boolean controls automatic subdivision (or uses user spec.) 00143 double Tolerance; // for performing merging 00144 int MaxLevel; 00145 int Level; 00146 int RetainCellLists; 00147 00148 vtkTimeStamp BuildTime; // time at which locator was built 00149 00150 private: 00151 vtkLocator(const vtkLocator&); // Not implemented. 00152 void operator=(const vtkLocator&); // Not implemented. 00153 }; 00154 00155 #endif 00156 00157