VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkExtractPiece.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 =========================================================================*/ 00024 #ifndef __vtkExtractPiece_h 00025 #define __vtkExtractPiece_h 00026 00027 #include "vtkFiltersParallelImagingModule.h" // For export macro 00028 #include "vtkCompositeDataSetAlgorithm.h" 00029 00030 class vtkImageData; 00031 class vtkPolyData; 00032 class vtkRectilinearGrid; 00033 class vtkStructuredGrid; 00034 class vtkUnstructuredGrid; 00035 class vtkCompositeDataIterator; 00036 00037 class VTKFILTERSPARALLELIMAGING_EXPORT vtkExtractPiece : public vtkCompositeDataSetAlgorithm 00038 { 00039 public: 00040 static vtkExtractPiece* New(); 00041 vtkTypeMacro(vtkExtractPiece, vtkCompositeDataSetAlgorithm); 00042 void PrintSelf(ostream& os, vtkIndent indent); 00043 00044 protected: 00045 vtkExtractPiece() {} 00046 ~vtkExtractPiece() {} 00047 00048 virtual int RequestDataObject(vtkInformation* request, 00049 vtkInformationVector** inputVector, 00050 vtkInformationVector* outputVector); 00051 00052 virtual int RequestUpdateExtent(vtkInformation*, 00053 vtkInformationVector**, 00054 vtkInformationVector*); 00055 virtual int RequestData(vtkInformation*, 00056 vtkInformationVector**, 00057 vtkInformationVector*); 00058 00059 void ExtractImageData(vtkImageData *imageData, 00060 vtkCompositeDataSet *output, 00061 int piece, int numberOfPieces, int ghostLevel, 00062 vtkCompositeDataIterator* iter); 00063 void ExtractPolyData(vtkPolyData *polyData, 00064 vtkCompositeDataSet *output, 00065 int piece, int numberOfPieces, int ghostLevel, 00066 vtkCompositeDataIterator* iter); 00067 void ExtractRectilinearGrid(vtkRectilinearGrid *rGrid, 00068 vtkCompositeDataSet *output, 00069 int piece, int numberOfPieces, int ghostLevel, 00070 vtkCompositeDataIterator* iter); 00071 void ExtractStructuredGrid(vtkStructuredGrid *sGrid, 00072 vtkCompositeDataSet *output, 00073 int piece, int numberOfPieces, int ghostLevel, 00074 vtkCompositeDataIterator* iter); 00075 void ExtractUnstructuredGrid(vtkUnstructuredGrid *uGrid, 00076 vtkCompositeDataSet *output, 00077 int piece, int numberOfPieces, int ghostLevel, 00078 vtkCompositeDataIterator* iter); 00079 private: 00080 vtkExtractPiece(const vtkExtractPiece&); // Not implemented. 00081 void operator=(const vtkExtractPiece&); // Not implemented. 00082 }; 00083 00084 #endif