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