VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkExtractUnstructuredGrid.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 =========================================================================*/ 00044 #ifndef __vtkExtractUnstructuredGrid_h 00045 #define __vtkExtractUnstructuredGrid_h 00046 00047 #include "vtkFiltersExtractionModule.h" // For export macro 00048 #include "vtkUnstructuredGridAlgorithm.h" 00049 00050 class vtkIncrementalPointLocator; 00051 00052 class VTKFILTERSEXTRACTION_EXPORT vtkExtractUnstructuredGrid : public vtkUnstructuredGridAlgorithm 00053 { 00054 public: 00055 vtkTypeMacro(vtkExtractUnstructuredGrid,vtkUnstructuredGridAlgorithm); 00056 void PrintSelf(ostream& os, vtkIndent indent); 00057 00059 static vtkExtractUnstructuredGrid *New(); 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 00132 void SetLocator(vtkIncrementalPointLocator *locator); 00133 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator); 00135 00137 void CreateDefaultLocator(); 00138 00140 unsigned long GetMTime(); 00141 00142 protected: 00143 vtkExtractUnstructuredGrid(); 00144 ~vtkExtractUnstructuredGrid() {} 00145 00146 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00147 00148 vtkIdType PointMinimum; 00149 vtkIdType PointMaximum; 00150 vtkIdType CellMinimum; 00151 vtkIdType CellMaximum; 00152 double Extent[6]; 00153 int PointClipping; 00154 int CellClipping; 00155 int ExtentClipping; 00156 00157 int Merging; 00158 vtkIncrementalPointLocator *Locator; 00159 private: 00160 vtkExtractUnstructuredGrid(const vtkExtractUnstructuredGrid&); // Not implemented. 00161 void operator=(const vtkExtractUnstructuredGrid&); // Not implemented. 00162 }; 00163 00164 #endif 00165 00166