VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkExtractUnstructuredGrid.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 =========================================================================*/ 00041 #ifndef __vtkExtractUnstructuredGrid_h 00042 #define __vtkExtractUnstructuredGrid_h 00043 00044 #include "vtkUnstructuredGridAlgorithm.h" 00045 00046 class vtkPointLocator; 00047 00048 class VTK_GRAPHICS_EXPORT vtkExtractUnstructuredGrid : public vtkUnstructuredGridAlgorithm 00049 { 00050 public: 00051 vtkTypeRevisionMacro(vtkExtractUnstructuredGrid,vtkUnstructuredGridAlgorithm); 00052 void PrintSelf(ostream& os, vtkIndent indent); 00053 00055 static vtkExtractUnstructuredGrid *New(); 00056 00058 00059 vtkSetMacro(PointClipping,int); 00060 vtkGetMacro(PointClipping,int); 00061 vtkBooleanMacro(PointClipping,int); 00063 00065 00066 vtkSetMacro(CellClipping,int); 00067 vtkGetMacro(CellClipping,int); 00068 vtkBooleanMacro(CellClipping,int); 00070 00072 00073 vtkSetMacro(ExtentClipping,int); 00074 vtkGetMacro(ExtentClipping,int); 00075 vtkBooleanMacro(ExtentClipping,int); 00077 00079 00080 vtkSetClampMacro(PointMinimum,vtkIdType,0,VTK_LARGE_ID); 00081 vtkGetMacro(PointMinimum,vtkIdType); 00083 00085 00086 vtkSetClampMacro(PointMaximum,vtkIdType,0,VTK_LARGE_ID); 00087 vtkGetMacro(PointMaximum,vtkIdType); 00089 00091 00092 vtkSetClampMacro(CellMinimum,vtkIdType,0,VTK_LARGE_ID); 00093 vtkGetMacro(CellMinimum,vtkIdType); 00095 00097 00098 vtkSetClampMacro(CellMaximum,vtkIdType,0,VTK_LARGE_ID); 00099 vtkGetMacro(CellMaximum,vtkIdType); 00101 00103 00105 void SetExtent(double xMin, double xMax, double yMin, double yMax, 00106 double zMin, double zMax); 00108 00110 00112 void SetExtent(double extent[6]); 00113 double *GetExtent() { return this->Extent;}; 00115 00117 00120 vtkSetMacro(Merging,int); 00121 vtkGetMacro(Merging,int); 00122 vtkBooleanMacro(Merging,int); 00124 00126 00128 void SetLocator(vtkPointLocator *locator); 00129 vtkGetObjectMacro(Locator,vtkPointLocator); 00131 00133 void CreateDefaultLocator(); 00134 00136 unsigned long GetMTime(); 00137 00138 protected: 00139 vtkExtractUnstructuredGrid(); 00140 ~vtkExtractUnstructuredGrid() {}; 00141 00142 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00143 00144 vtkIdType PointMinimum; 00145 vtkIdType PointMaximum; 00146 vtkIdType CellMinimum; 00147 vtkIdType CellMaximum; 00148 double Extent[6]; 00149 int PointClipping; 00150 int CellClipping; 00151 int ExtentClipping; 00152 00153 int Merging; 00154 vtkPointLocator *Locator; 00155 private: 00156 vtkExtractUnstructuredGrid(const vtkExtractUnstructuredGrid&); // Not implemented. 00157 void operator=(const vtkExtractUnstructuredGrid&); // Not implemented. 00158 }; 00159 00160 #endif 00161 00162