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 "vtkUnstructuredGridAlgorithm.h" 00047 00048 class vtkIncrementalPointLocator; 00049 class vtkHashTableOfSurfels; // internal class 00050 00051 class VTK_GRAPHICS_EXPORT vtkUnstructuredGridGeometryFilter : public vtkUnstructuredGridAlgorithm 00052 { 00053 public: 00054 static vtkUnstructuredGridGeometryFilter *New(); 00055 vtkTypeMacro(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 00133 vtkSetMacro(PassThroughCellIds,int); 00134 vtkGetMacro(PassThroughCellIds,int); 00135 vtkBooleanMacro(PassThroughCellIds,int); 00136 vtkSetMacro(PassThroughPointIds,int); 00137 vtkGetMacro(PassThroughPointIds,int); 00138 vtkBooleanMacro(PassThroughPointIds,int); 00140 00142 00146 vtkSetStringMacro(OriginalCellIdsName); 00147 virtual const char *GetOriginalCellIdsName() { 00148 return ( this->OriginalCellIdsName 00149 ? this->OriginalCellIdsName : "vtkOriginalCellIds"); 00150 } 00151 vtkSetStringMacro(OriginalPointIdsName); 00152 virtual const char *GetOriginalPointIdsName() { 00153 return ( this->OriginalPointIdsName 00154 ? this->OriginalPointIdsName : "vtkOriginalPointIds"); 00155 } 00157 00159 00161 void SetLocator(vtkIncrementalPointLocator *locator); 00162 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator); 00164 00166 void CreateDefaultLocator(); 00167 00169 unsigned long GetMTime(); 00170 00171 protected: 00172 vtkUnstructuredGridGeometryFilter(); 00173 ~vtkUnstructuredGridGeometryFilter(); 00174 00175 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00176 virtual int FillInputPortInformation(int port, vtkInformation *info); 00177 00178 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00179 00180 vtkIdType PointMaximum; 00181 vtkIdType PointMinimum; 00182 vtkIdType CellMinimum; 00183 vtkIdType CellMaximum; 00184 double Extent[6]; 00185 int PointClipping; 00186 int CellClipping; 00187 int ExtentClipping; 00188 00189 int PassThroughCellIds; 00190 int PassThroughPointIds; 00191 char *OriginalCellIdsName; 00192 char *OriginalPointIdsName; 00193 00194 int Merging; 00195 vtkIncrementalPointLocator *Locator; 00196 00197 vtkHashTableOfSurfels *HashTable; 00198 00199 private: 00200 vtkUnstructuredGridGeometryFilter(const vtkUnstructuredGridGeometryFilter&); // Not implemented. 00201 void operator=(const vtkUnstructuredGridGeometryFilter&); // Not implemented. 00202 }; 00203 00204 #endif