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

vtkGeometryFilter.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkGeometryFilter.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 __vtkGeometryFilter_h
00053 #define __vtkGeometryFilter_h
00054 
00055 #include "vtkPolyDataAlgorithm.h"
00056 
00057 class vtkPointLocator;
00058 
00059 class VTK_GRAPHICS_EXPORT vtkGeometryFilter : public vtkPolyDataAlgorithm
00060 {
00061 public:
00062   static vtkGeometryFilter *New();
00063   vtkTypeRevisionMacro(vtkGeometryFilter,vtkPolyDataAlgorithm);
00064   void PrintSelf(ostream& os, vtkIndent indent);
00065 
00067 
00068   vtkSetMacro(PointClipping,int);
00069   vtkGetMacro(PointClipping,int);
00070   vtkBooleanMacro(PointClipping,int);
00072 
00074 
00075   vtkSetMacro(CellClipping,int);
00076   vtkGetMacro(CellClipping,int);
00077   vtkBooleanMacro(CellClipping,int);
00079 
00081 
00082   vtkSetMacro(ExtentClipping,int);
00083   vtkGetMacro(ExtentClipping,int);
00084   vtkBooleanMacro(ExtentClipping,int);
00086 
00088 
00089   vtkSetClampMacro(PointMinimum,vtkIdType,0,VTK_LARGE_ID);
00090   vtkGetMacro(PointMinimum,vtkIdType);
00092 
00094 
00095   vtkSetClampMacro(PointMaximum,vtkIdType,0,VTK_LARGE_ID);
00096   vtkGetMacro(PointMaximum,vtkIdType);
00098 
00100 
00101   vtkSetClampMacro(CellMinimum,vtkIdType,0,VTK_LARGE_ID);
00102   vtkGetMacro(CellMinimum,vtkIdType);
00104 
00106 
00107   vtkSetClampMacro(CellMaximum,vtkIdType,0,VTK_LARGE_ID);
00108   vtkGetMacro(CellMaximum,vtkIdType);
00110 
00112 
00114   void SetExtent(double xMin, double xMax, double yMin, double yMax, 
00115                  double zMin, double zMax);
00117 
00119 
00121   void SetExtent(double extent[6]);
00122   double *GetExtent() { return this->Extent;};
00124 
00126 
00129   vtkSetMacro(Merging,int);
00130   vtkGetMacro(Merging,int);
00131   vtkBooleanMacro(Merging,int);
00133 
00135 
00137   void SetLocator(vtkPointLocator *locator);
00138   vtkGetObjectMacro(Locator,vtkPointLocator);
00140 
00142   void CreateDefaultLocator();
00143 
00145   unsigned long GetMTime();
00146 
00147 protected:
00148   vtkGeometryFilter();
00149   ~vtkGeometryFilter();
00150 
00151   virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00152   virtual int FillInputPortInformation(int port, vtkInformation *info);
00153 
00154   //special cases for performance
00155   void PolyDataExecute(vtkDataSet *, vtkPolyData *, vtkInformation *);
00156   void UnstructuredGridExecute(vtkDataSet *, vtkPolyData *, vtkInformation *);
00157   void StructuredGridExecute(vtkDataSet *, vtkPolyData *, vtkInformation *);
00158   int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00159 
00160   vtkIdType PointMaximum;
00161   vtkIdType PointMinimum;
00162   vtkIdType CellMinimum;
00163   vtkIdType CellMaximum;
00164   double Extent[6];
00165   int PointClipping;
00166   int CellClipping;
00167   int ExtentClipping;
00168 
00169   int Merging;
00170   vtkPointLocator *Locator;
00171 private:
00172   vtkGeometryFilter(const vtkGeometryFilter&);  // Not implemented.
00173   void operator=(const vtkGeometryFilter&);  // Not implemented.
00174 };
00175 
00176 #endif
00177 
00178 

Generated on Mon Jan 21 23:07:25 2008 for VTK by  doxygen 1.4.3-20050530