VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vtkExtractPiece.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkExtractPiece.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
24 #ifndef __vtkExtractPiece_h
25 #define __vtkExtractPiece_h
26 
27 #include "vtkFiltersParallelImagingModule.h" // For export macro
28 #include "vtkCompositeDataSetAlgorithm.h"
29 
30 class vtkImageData;
31 class vtkPolyData;
32 class vtkRectilinearGrid;
33 class vtkStructuredGrid;
34 class vtkUnstructuredGrid;
35 class vtkCompositeDataIterator;
36 
37 class VTKFILTERSPARALLELIMAGING_EXPORT vtkExtractPiece : public vtkCompositeDataSetAlgorithm
38 {
39 public:
40  static vtkExtractPiece* New();
41  vtkTypeMacro(vtkExtractPiece, vtkCompositeDataSetAlgorithm);
42  void PrintSelf(ostream& os, vtkIndent indent);
43 
44 protected:
47 
48  virtual int RequestDataObject(vtkInformation* request,
49  vtkInformationVector** inputVector,
50  vtkInformationVector* outputVector);
51 
52  virtual int RequestUpdateExtent(vtkInformation*,
53  vtkInformationVector**,
54  vtkInformationVector*);
55  virtual int RequestData(vtkInformation*,
56  vtkInformationVector**,
57  vtkInformationVector*);
58 
59  void ExtractImageData(vtkImageData *imageData,
60  vtkCompositeDataSet *output,
61  int piece, int numberOfPieces, int ghostLevel,
62  vtkCompositeDataIterator* iter);
63  void ExtractPolyData(vtkPolyData *polyData,
64  vtkCompositeDataSet *output,
65  int piece, int numberOfPieces, int ghostLevel,
66  vtkCompositeDataIterator* iter);
67  void ExtractRectilinearGrid(vtkRectilinearGrid *rGrid,
68  vtkCompositeDataSet *output,
69  int piece, int numberOfPieces, int ghostLevel,
70  vtkCompositeDataIterator* iter);
71  void ExtractStructuredGrid(vtkStructuredGrid *sGrid,
72  vtkCompositeDataSet *output,
73  int piece, int numberOfPieces, int ghostLevel,
74  vtkCompositeDataIterator* iter);
75  void ExtractUnstructuredGrid(vtkUnstructuredGrid *uGrid,
76  vtkCompositeDataSet *output,
77  int piece, int numberOfPieces, int ghostLevel,
78  vtkCompositeDataIterator* iter);
79 private:
80  vtkExtractPiece(const vtkExtractPiece&); // Not implemented.
81  void operator=(const vtkExtractPiece&); // Not implemented.
82 };
83 
84 #endif