VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkUnstructuredGridGeometryFilter.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 =========================================================================*/ 00043 #ifndef __vtkUnstructuredGridGeometryFilter_h 00044 #define __vtkUnstructuredGridGeometryFilter_h 00045 00046 #include "vtkUnstructuredGridAlgorithm.h" 00047 00048 class vtkPointLocator; 00049 class vtkHashTableOfSurfels; // internal class 00050 00051 class VTK_GRAPHICS_EXPORT vtkUnstructuredGridGeometryFilter : public vtkUnstructuredGridAlgorithm 00052 { 00053 public: 00054 static vtkUnstructuredGridGeometryFilter *New(); 00055 vtkTypeRevisionMacro(vtkUnstructuredGridGeometryFilter,vtkUnstructuredGridAlgorithm); 00056 void PrintSelf(ostream& os, vtkIndent indent); 00057 00059 00060 vtkSetMacro(PointClipping,int); 00061 vtkGetMacro(PointClipping,int); 00062 vtkBooleanMacro(PointClipping,int); 00064 00066 00067 vtkSetMacro(CellClipping,int); 00068 vtkGetMacro(CellClipping,int); 00069 vtkBooleanMacro(CellClipping,int); 00071 00073 00074 vtkSetMacro(ExtentClipping,int); 00075 vtkGetMacro(ExtentClipping,int); 00076 vtkBooleanMacro(ExtentClipping,int); 00078 00080 00081 vtkSetClampMacro(PointMinimum,vtkIdType,0,VTK_LARGE_ID); 00082 vtkGetMacro(PointMinimum,vtkIdType); 00084 00086 00087 vtkSetClampMacro(PointMaximum,vtkIdType,0,VTK_LARGE_ID); 00088 vtkGetMacro(PointMaximum,vtkIdType); 00090 00092 00093 vtkSetClampMacro(CellMinimum,vtkIdType,0,VTK_LARGE_ID); 00094 vtkGetMacro(CellMinimum,vtkIdType); 00096 00098 00099 vtkSetClampMacro(CellMaximum,vtkIdType,0,VTK_LARGE_ID); 00100 vtkGetMacro(CellMaximum,vtkIdType); 00102 00104 00106 void SetExtent(double xMin, double xMax, double yMin, double yMax, 00107 double zMin, double zMax); 00109 00111 00113 void SetExtent(double extent[6]); 00114 double *GetExtent() { return this->Extent;}; 00116 00118 00121 vtkSetMacro(Merging,int); 00122 vtkGetMacro(Merging,int); 00123 vtkBooleanMacro(Merging,int); 00125 00127 00129 void SetLocator(vtkPointLocator *locator); 00130 vtkGetObjectMacro(Locator,vtkPointLocator); 00132 00134 void CreateDefaultLocator(); 00135 00137 unsigned long GetMTime(); 00138 00139 protected: 00140 vtkUnstructuredGridGeometryFilter(); 00141 ~vtkUnstructuredGridGeometryFilter(); 00142 00143 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00144 virtual int FillInputPortInformation(int port, vtkInformation *info); 00145 00146 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00147 00148 vtkIdType PointMaximum; 00149 vtkIdType PointMinimum; 00150 vtkIdType CellMinimum; 00151 vtkIdType CellMaximum; 00152 double Extent[6]; 00153 int PointClipping; 00154 int CellClipping; 00155 int ExtentClipping; 00156 00157 int Merging; 00158 vtkPointLocator *Locator; 00159 00160 vtkHashTableOfSurfels *HashTable; 00161 00162 private: 00163 vtkUnstructuredGridGeometryFilter(const vtkUnstructuredGridGeometryFilter&); // Not implemented. 00164 void operator=(const vtkUnstructuredGridGeometryFilter&); // Not implemented. 00165 }; 00166 00167 #endif