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

dox/Graphics/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 "vtkDataSetToPolyDataFilter.h" 00056 00057 class vtkPointLocator; 00058 00059 class VTK_GRAPHICS_EXPORT vtkGeometryFilter : public vtkDataSetToPolyDataFilter 00060 { 00061 public: 00062 static vtkGeometryFilter *New(); 00063 vtkTypeRevisionMacro(vtkGeometryFilter,vtkDataSetToPolyDataFilter); 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 void Execute(); 00152 void PolyDataExecute(); //special cases for performance 00153 void UnstructuredGridExecute(); 00154 void StructuredGridExecute(); 00155 void ComputeInputUpdateExtents(vtkDataObject *output); 00156 void ExecuteInformation(); 00157 00158 vtkIdType PointMaximum; 00159 vtkIdType PointMinimum; 00160 vtkIdType CellMinimum; 00161 vtkIdType CellMaximum; 00162 double Extent[6]; 00163 int PointClipping; 00164 int CellClipping; 00165 int ExtentClipping; 00166 00167 int Merging; 00168 vtkPointLocator *Locator; 00169 private: 00170 vtkGeometryFilter(const vtkGeometryFilter&); // Not implemented. 00171 void operator=(const vtkGeometryFilter&); // Not implemented. 00172 }; 00173 00174 #endif 00175 00176