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 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 __vtkGeometryFilter_h 00057 #define __vtkGeometryFilter_h 00058 00059 #include "vtkDataSetToPolyDataFilter.h" 00060 00061 class vtkPointLocator; 00062 00063 class VTK_GRAPHICS_EXPORT vtkGeometryFilter : public vtkDataSetToPolyDataFilter 00064 { 00065 public: 00066 static vtkGeometryFilter *New(); 00067 vtkTypeRevisionMacro(vtkGeometryFilter,vtkDataSetToPolyDataFilter); 00068 void PrintSelf(ostream& os, vtkIndent indent); 00069 00071 00072 vtkSetMacro(PointClipping,int); 00073 vtkGetMacro(PointClipping,int); 00074 vtkBooleanMacro(PointClipping,int); 00076 00078 00079 vtkSetMacro(CellClipping,int); 00080 vtkGetMacro(CellClipping,int); 00081 vtkBooleanMacro(CellClipping,int); 00083 00085 00086 vtkSetMacro(ExtentClipping,int); 00087 vtkGetMacro(ExtentClipping,int); 00088 vtkBooleanMacro(ExtentClipping,int); 00090 00092 00093 vtkSetClampMacro(PointMinimum,vtkIdType,0,VTK_LARGE_ID); 00094 vtkGetMacro(PointMinimum,vtkIdType); 00096 00098 00099 vtkSetClampMacro(PointMaximum,vtkIdType,0,VTK_LARGE_ID); 00100 vtkGetMacro(PointMaximum,vtkIdType); 00102 00104 00105 vtkSetClampMacro(CellMinimum,vtkIdType,0,VTK_LARGE_ID); 00106 vtkGetMacro(CellMinimum,vtkIdType); 00108 00110 00111 vtkSetClampMacro(CellMaximum,vtkIdType,0,VTK_LARGE_ID); 00112 vtkGetMacro(CellMaximum,vtkIdType); 00114 00116 00118 void SetExtent(float xMin, float xMax, float yMin, float yMax, 00119 float zMin, float zMax); 00121 00123 00125 void SetExtent(float extent[6]); 00126 float *GetExtent() { return this->Extent;}; 00128 00130 00133 vtkSetMacro(Merging,int); 00134 vtkGetMacro(Merging,int); 00135 vtkBooleanMacro(Merging,int); 00137 00139 00141 void SetLocator(vtkPointLocator *locator); 00142 vtkGetObjectMacro(Locator,vtkPointLocator); 00144 00146 void CreateDefaultLocator(); 00147 00149 unsigned long GetMTime(); 00150 00151 protected: 00152 vtkGeometryFilter(); 00153 ~vtkGeometryFilter(); 00154 00155 void Execute(); 00156 void PolyDataExecute(); //special cases for performance 00157 void UnstructuredGridExecute(); 00158 void StructuredGridExecute(); 00159 void ComputeInputUpdateExtents(vtkDataObject *output); 00160 void ExecuteInformation(); 00161 00162 vtkIdType PointMaximum; 00163 vtkIdType PointMinimum; 00164 vtkIdType CellMinimum; 00165 vtkIdType CellMaximum; 00166 float Extent[6]; 00167 int PointClipping; 00168 int CellClipping; 00169 int ExtentClipping; 00170 00171 int Merging; 00172 vtkPointLocator *Locator; 00173 private: 00174 vtkGeometryFilter(const vtkGeometryFilter&); // Not implemented. 00175 void operator=(const vtkGeometryFilter&); // Not implemented. 00176 }; 00177 00178 #endif 00179 00180