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

vtkGenericGeometryFilter.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkGenericGeometryFilter.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 =========================================================================*/
00059 #ifndef __vtkGenericGeometryFilter_h
00060 #define __vtkGenericGeometryFilter_h
00061 
00062 #include "vtkGenericDataSetToPolyDataFilter.h"
00063 
00064 class vtkPointLocator;
00065 
00066 class VTK_GENERIC_FILTERING_EXPORT vtkGenericGeometryFilter : public vtkGenericDataSetToPolyDataFilter
00067 {
00068 public:
00069   static vtkGenericGeometryFilter *New();
00070   vtkTypeRevisionMacro(vtkGenericGeometryFilter,vtkGenericDataSetToPolyDataFilter);
00071   void PrintSelf(ostream& os, vtkIndent indent);
00072 
00074 
00075   vtkSetMacro(PointClipping,int);
00076   vtkGetMacro(PointClipping,int);
00077   vtkBooleanMacro(PointClipping,int);
00079 
00081 
00082   vtkSetMacro(CellClipping,int);
00083   vtkGetMacro(CellClipping,int);
00084   vtkBooleanMacro(CellClipping,int);
00086 
00088 
00089   vtkSetMacro(ExtentClipping,int);
00090   vtkGetMacro(ExtentClipping,int);
00091   vtkBooleanMacro(ExtentClipping,int);
00093 
00095 
00096   vtkSetClampMacro(PointMinimum,vtkIdType,0,VTK_LARGE_ID);
00097   vtkGetMacro(PointMinimum,vtkIdType);
00099 
00101 
00102   vtkSetClampMacro(PointMaximum,vtkIdType,0,VTK_LARGE_ID);
00103   vtkGetMacro(PointMaximum,vtkIdType);
00105 
00107 
00108   vtkSetClampMacro(CellMinimum,vtkIdType,0,VTK_LARGE_ID);
00109   vtkGetMacro(CellMinimum,vtkIdType);
00111 
00113 
00114   vtkSetClampMacro(CellMaximum,vtkIdType,0,VTK_LARGE_ID);
00115   vtkGetMacro(CellMaximum,vtkIdType);
00117 
00119 
00121   void SetExtent(double xMin, double xMax, double yMin, double yMax, 
00122                  double zMin, double zMax);
00124 
00126 
00128   void SetExtent(double extent[6]);
00129   double *GetExtent() { return this->Extent;};
00131 
00133 
00136   vtkSetMacro(Merging,int);
00137   vtkGetMacro(Merging,int);
00138   vtkBooleanMacro(Merging,int);
00140 
00142 
00144   void SetLocator(vtkPointLocator *locator);
00145   vtkGetObjectMacro(Locator,vtkPointLocator);
00147 
00149   void CreateDefaultLocator();
00150 
00152   unsigned long GetMTime();
00153 
00154 protected:
00155   vtkGenericGeometryFilter();
00156   ~vtkGenericGeometryFilter();
00157 
00158   void Execute();
00159   void PolyDataExecute(); //special cases for performance
00160   void UnstructuredGridExecute();
00161   void StructuredGridExecute();
00162   void ComputeInputUpdateExtents(vtkDataObject *output);
00163   void ExecuteInformation();
00164 
00165   vtkIdType PointMaximum;
00166   vtkIdType PointMinimum;
00167   vtkIdType CellMinimum;
00168   vtkIdType CellMaximum;
00169   double Extent[6];
00170   int PointClipping;
00171   int CellClipping;
00172   int ExtentClipping;
00173 
00174   int Merging;
00175   vtkPointLocator *Locator;
00176 private:
00177   vtkGenericGeometryFilter(const vtkGenericGeometryFilter&);  // Not implemented.
00178   void operator=(const vtkGenericGeometryFilter&);  // Not implemented.
00179 };
00180 
00181 #endif
00182 
00183