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 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 =========================================================================*/ 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; // boolean controls automatic subdivision (or uses user spec.) 00147 float Tolerance; // for performing merging 00148 int MaxLevel; 00149 int Level; 00150 int RetainCellLists; 00151 00152 vtkTimeStamp BuildTime; // time at which locator was built 00153 00154 private: 00155 vtkLocator(const vtkLocator&); // Not implemented. 00156 void operator=(const vtkLocator&); // Not implemented. 00157 }; 00158 00159 #endif 00160 00161