VTK
dox/Filters/ParallelImaging/vtkExtractPiece.h
Go to the documentation of this file.
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