VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkUnstructuredGridGeometryFilter.h 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 "vtkFiltersGeometryModule.h" // For export macro 00047 #include "vtkUnstructuredGridAlgorithm.h" 00048 00049 class vtkIncrementalPointLocator; 00050 class vtkHashTableOfSurfels; // internal class 00051 00052 class VTKFILTERSGEOMETRY_EXPORT vtkUnstructuredGridGeometryFilter : public vtkUnstructuredGridAlgorithm 00053 { 00054 public: 00055 static vtkUnstructuredGridGeometryFilter *New(); 00056 vtkTypeMacro(vtkUnstructuredGridGeometryFilter,vtkUnstructuredGridAlgorithm); 00057 void PrintSelf(ostream& os, vtkIndent indent); 00058 00060 00061 vtkSetMacro(PointClipping,int); 00062 vtkGetMacro(PointClipping,int); 00063 vtkBooleanMacro(PointClipping,int); 00065 00067 00068 vtkSetMacro(CellClipping,int); 00069 vtkGetMacro(CellClipping,int); 00070 vtkBooleanMacro(CellClipping,int); 00072 00074 00075 vtkSetMacro(ExtentClipping,int); 00076 vtkGetMacro(ExtentClipping,int); 00077 vtkBooleanMacro(ExtentClipping,int); 00079 00081 00082 vtkSetClampMacro(PointMinimum,vtkIdType,0,VTK_ID_MAX); 00083 vtkGetMacro(PointMinimum,vtkIdType); 00085 00087 00088 vtkSetClampMacro(PointMaximum,vtkIdType,0,VTK_ID_MAX); 00089 vtkGetMacro(PointMaximum,vtkIdType); 00091 00093 00094 vtkSetClampMacro(CellMinimum,vtkIdType,0,VTK_ID_MAX); 00095 vtkGetMacro(CellMinimum,vtkIdType); 00097 00099 00100 vtkSetClampMacro(CellMaximum,vtkIdType,0,VTK_ID_MAX); 00101 vtkGetMacro(CellMaximum,vtkIdType); 00103 00105 00107 void SetExtent(double xMin, double xMax, double yMin, double yMax, 00108 double zMin, double zMax); 00110 00112 00114 void SetExtent(double extent[6]); 00115 double *GetExtent() { return this->Extent;}; 00117 00119 00122 vtkSetMacro(Merging,int); 00123 vtkGetMacro(Merging,int); 00124 vtkBooleanMacro(Merging,int); 00126 00128 00134 vtkSetMacro(PassThroughCellIds,int); 00135 vtkGetMacro(PassThroughCellIds,int); 00136 vtkBooleanMacro(PassThroughCellIds,int); 00137 vtkSetMacro(PassThroughPointIds,int); 00138 vtkGetMacro(PassThroughPointIds,int); 00139 vtkBooleanMacro(PassThroughPointIds,int); 00141 00143 00147 vtkSetStringMacro(OriginalCellIdsName); 00148 virtual const char *GetOriginalCellIdsName() { 00149 return ( this->OriginalCellIdsName 00150 ? this->OriginalCellIdsName : "vtkOriginalCellIds"); 00151 } 00152 vtkSetStringMacro(OriginalPointIdsName); 00153 virtual const char *GetOriginalPointIdsName() { 00154 return ( this->OriginalPointIdsName 00155 ? this->OriginalPointIdsName : "vtkOriginalPointIds"); 00156 } 00158 00160 00162 void SetLocator(vtkIncrementalPointLocator *locator); 00163 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator); 00165 00167 void CreateDefaultLocator(); 00168 00170 unsigned long GetMTime(); 00171 00172 protected: 00173 vtkUnstructuredGridGeometryFilter(); 00174 ~vtkUnstructuredGridGeometryFilter(); 00175 00176 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00177 virtual int FillInputPortInformation(int port, vtkInformation *info); 00178 00179 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00180 00181 vtkIdType PointMaximum; 00182 vtkIdType PointMinimum; 00183 vtkIdType CellMinimum; 00184 vtkIdType CellMaximum; 00185 double Extent[6]; 00186 int PointClipping; 00187 int CellClipping; 00188 int ExtentClipping; 00189 00190 int PassThroughCellIds; 00191 int PassThroughPointIds; 00192 char *OriginalCellIdsName; 00193 char *OriginalPointIdsName; 00194 00195 int Merging; 00196 vtkIncrementalPointLocator *Locator; 00197 00198 vtkHashTableOfSurfels *HashTable; 00199 00200 private: 00201 vtkUnstructuredGridGeometryFilter(const vtkUnstructuredGridGeometryFilter&); // Not implemented. 00202 void operator=(const vtkUnstructuredGridGeometryFilter&); // Not implemented. 00203 }; 00204 00205 #endif