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 "vtkUnstructuredGridBaseAlgorithm.h" 00048 00049 class vtkIncrementalPointLocator; 00050 class vtkHashTableOfSurfels; // internal class 00051 00052 class VTKFILTERSGEOMETRY_EXPORT vtkUnstructuredGridGeometryFilter 00053 : public vtkUnstructuredGridBaseAlgorithm 00054 { 00055 public: 00056 static vtkUnstructuredGridGeometryFilter *New(); 00057 vtkTypeMacro(vtkUnstructuredGridGeometryFilter, 00058 vtkUnstructuredGridBaseAlgorithm) 00059 void PrintSelf(ostream& os, vtkIndent indent); 00060 00062 00063 vtkSetMacro(PointClipping,int); 00064 vtkGetMacro(PointClipping,int); 00065 vtkBooleanMacro(PointClipping,int); 00067 00069 00070 vtkSetMacro(CellClipping,int); 00071 vtkGetMacro(CellClipping,int); 00072 vtkBooleanMacro(CellClipping,int); 00074 00076 00077 vtkSetMacro(ExtentClipping,int); 00078 vtkGetMacro(ExtentClipping,int); 00079 vtkBooleanMacro(ExtentClipping,int); 00081 00083 00084 vtkSetClampMacro(PointMinimum,vtkIdType,0,VTK_ID_MAX); 00085 vtkGetMacro(PointMinimum,vtkIdType); 00087 00089 00090 vtkSetClampMacro(PointMaximum,vtkIdType,0,VTK_ID_MAX); 00091 vtkGetMacro(PointMaximum,vtkIdType); 00093 00095 00096 vtkSetClampMacro(CellMinimum,vtkIdType,0,VTK_ID_MAX); 00097 vtkGetMacro(CellMinimum,vtkIdType); 00099 00101 00102 vtkSetClampMacro(CellMaximum,vtkIdType,0,VTK_ID_MAX); 00103 vtkGetMacro(CellMaximum,vtkIdType); 00105 00107 00109 void SetExtent(double xMin, double xMax, double yMin, double yMax, 00110 double zMin, double zMax); 00112 00114 00116 void SetExtent(double extent[6]); 00117 double *GetExtent() { return this->Extent;}; 00119 00121 00124 vtkSetMacro(Merging,int); 00125 vtkGetMacro(Merging,int); 00126 vtkBooleanMacro(Merging,int); 00128 00130 00136 vtkSetMacro(PassThroughCellIds,int); 00137 vtkGetMacro(PassThroughCellIds,int); 00138 vtkBooleanMacro(PassThroughCellIds,int); 00139 vtkSetMacro(PassThroughPointIds,int); 00140 vtkGetMacro(PassThroughPointIds,int); 00141 vtkBooleanMacro(PassThroughPointIds,int); 00143 00145 00149 vtkSetStringMacro(OriginalCellIdsName); 00150 virtual const char *GetOriginalCellIdsName() { 00151 return ( this->OriginalCellIdsName 00152 ? this->OriginalCellIdsName : "vtkOriginalCellIds"); 00153 } 00154 vtkSetStringMacro(OriginalPointIdsName); 00155 virtual const char *GetOriginalPointIdsName() { 00156 return ( this->OriginalPointIdsName 00157 ? this->OriginalPointIdsName : "vtkOriginalPointIds"); 00158 } 00160 00162 00164 void SetLocator(vtkIncrementalPointLocator *locator); 00165 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator); 00167 00169 void CreateDefaultLocator(); 00170 00172 unsigned long GetMTime(); 00173 00174 protected: 00175 vtkUnstructuredGridGeometryFilter(); 00176 ~vtkUnstructuredGridGeometryFilter(); 00177 00178 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00179 virtual int FillInputPortInformation(int port, vtkInformation *info); 00180 00181 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00182 00183 vtkIdType PointMaximum; 00184 vtkIdType PointMinimum; 00185 vtkIdType CellMinimum; 00186 vtkIdType CellMaximum; 00187 double Extent[6]; 00188 int PointClipping; 00189 int CellClipping; 00190 int ExtentClipping; 00191 00192 int PassThroughCellIds; 00193 int PassThroughPointIds; 00194 char *OriginalCellIdsName; 00195 char *OriginalPointIdsName; 00196 00197 int Merging; 00198 vtkIncrementalPointLocator *Locator; 00199 00200 vtkHashTableOfSurfels *HashTable; 00201 00202 private: 00203 vtkUnstructuredGridGeometryFilter(const vtkUnstructuredGridGeometryFilter&); // Not implemented. 00204 void operator=(const vtkUnstructuredGridGeometryFilter&); // Not implemented. 00205 }; 00206 00207 #endif