00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
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&);
00080 void operator=(const vtkExtractPiece&);
00081 };
00082
00083 #endif