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