VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkExtractCells.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 =========================================================================*/ 00015 /*---------------------------------------------------------------------------- 00016 Copyright (c) Sandia Corporation 00017 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details. 00018 ----------------------------------------------------------------------------*/ 00019 00030 #ifndef vtkExtractCells_h 00031 #define vtkExtractCells_h 00032 00033 #include "vtkFiltersExtractionModule.h" // For export macro 00034 #include "vtkUnstructuredGridAlgorithm.h" 00035 00036 class vtkIdList; 00037 class vtkExtractCellsSTLCloak; 00038 00039 class VTKFILTERSEXTRACTION_EXPORT vtkExtractCells : public vtkUnstructuredGridAlgorithm 00040 { 00041 public: 00042 vtkTypeMacro(vtkExtractCells, vtkUnstructuredGridAlgorithm); 00043 virtual void PrintSelf(ostream &os, vtkIndent indent); 00044 00045 static vtkExtractCells *New(); 00046 00051 void SetCellList(vtkIdList *l); 00052 00056 void AddCellList(vtkIdList *l); 00057 00061 void AddCellRange(vtkIdType from, vtkIdType to); 00062 00063 protected: 00064 00065 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00066 virtual int FillInputPortInformation(int port, vtkInformation *info); 00067 00068 vtkExtractCells(); 00069 ~vtkExtractCells(); 00070 00071 private: 00072 00073 void Copy(vtkDataSet *input, vtkUnstructuredGrid *output); 00074 static vtkIdType findInSortedList(vtkIdList *idList, vtkIdType id); 00075 vtkIdList *reMapPointIds(vtkDataSet *grid); 00076 00077 void CopyCellsDataSet(vtkIdList *ptMap, vtkDataSet *input, 00078 vtkUnstructuredGrid *output); 00079 void CopyCellsUnstructuredGrid(vtkIdList *ptMap, vtkDataSet *input, 00080 vtkUnstructuredGrid *output); 00081 00082 vtkExtractCellsSTLCloak *CellList; 00083 00084 int SubSetUGridCellArraySize; 00085 char InputIsUgrid; 00086 00087 vtkExtractCells(const vtkExtractCells&); // Not implemented 00088 void operator=(const vtkExtractCells&); // Not implemented 00089 }; 00090 00091 #endif