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 "vtkUnstructuredGridAlgorithm.h" 00048 00049 class vtkIncrementalPointLocator; 00050 00051 class VTK_GRAPHICS_EXPORT vtkExtractUnstructuredGrid : public vtkUnstructuredGridAlgorithm 00052 { 00053 public: 00054 vtkTypeMacro(vtkExtractUnstructuredGrid,vtkUnstructuredGridAlgorithm); 00055 void PrintSelf(ostream& os, vtkIndent indent); 00056 00058 static vtkExtractUnstructuredGrid *New(); 00059 00061 00062 vtkSetMacro(PointClipping,int); 00063 vtkGetMacro(PointClipping,int); 00064 vtkBooleanMacro(PointClipping,int); 00066 00068 00069 vtkSetMacro(CellClipping,int); 00070 vtkGetMacro(CellClipping,int); 00071 vtkBooleanMacro(CellClipping,int); 00073 00075 00076 vtkSetMacro(ExtentClipping,int); 00077 vtkGetMacro(ExtentClipping,int); 00078 vtkBooleanMacro(ExtentClipping,int); 00080 00082 00083 vtkSetClampMacro(PointMinimum,vtkIdType,0,VTK_LARGE_ID); 00084 vtkGetMacro(PointMinimum,vtkIdType); 00086 00088 00089 vtkSetClampMacro(PointMaximum,vtkIdType,0,VTK_LARGE_ID); 00090 vtkGetMacro(PointMaximum,vtkIdType); 00092 00094 00095 vtkSetClampMacro(CellMinimum,vtkIdType,0,VTK_LARGE_ID); 00096 vtkGetMacro(CellMinimum,vtkIdType); 00098 00100 00101 vtkSetClampMacro(CellMaximum,vtkIdType,0,VTK_LARGE_ID); 00102 vtkGetMacro(CellMaximum,vtkIdType); 00104 00106 00108 void SetExtent(double xMin, double xMax, double yMin, double yMax, 00109 double zMin, double zMax); 00111 00113 00115 void SetExtent(double extent[6]); 00116 double *GetExtent() { return this->Extent;}; 00118 00120 00123 vtkSetMacro(Merging,int); 00124 vtkGetMacro(Merging,int); 00125 vtkBooleanMacro(Merging,int); 00127 00129 00131 void SetLocator(vtkIncrementalPointLocator *locator); 00132 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator); 00134 00136 void CreateDefaultLocator(); 00137 00139 unsigned long GetMTime(); 00140 00141 protected: 00142 vtkExtractUnstructuredGrid(); 00143 ~vtkExtractUnstructuredGrid() {}; 00144 00145 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00146 00147 vtkIdType PointMinimum; 00148 vtkIdType PointMaximum; 00149 vtkIdType CellMinimum; 00150 vtkIdType CellMaximum; 00151 double Extent[6]; 00152 int PointClipping; 00153 int CellClipping; 00154 int ExtentClipping; 00155 00156 int Merging; 00157 vtkIncrementalPointLocator *Locator; 00158 private: 00159 vtkExtractUnstructuredGrid(const vtkExtractUnstructuredGrid&); // Not implemented. 00160 void operator=(const vtkExtractUnstructuredGrid&); // Not implemented. 00161 }; 00162 00163 #endif 00164 00165