00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00022 #ifndef __vtkPieceRequestFilter_h
00023 #define __vtkPieceRequestFilter_h
00024
00025 #include "vtkAlgorithm.h"
00026
00027 class vtkDataObject;
00028
00029 class VTK_PARALLEL_EXPORT vtkPieceRequestFilter : public vtkAlgorithm
00030 {
00031 public:
00032 static vtkPieceRequestFilter *New();
00033 vtkTypeMacro(vtkPieceRequestFilter,vtkAlgorithm);
00034 void PrintSelf(ostream& os, vtkIndent indent);
00035
00037
00038 vtkSetClampMacro(NumberOfPieces, int, 0, VTK_INT_MAX);
00039 vtkGetMacro(NumberOfPieces, int);
00041
00043
00044 vtkSetClampMacro(Piece, int, 0, VTK_INT_MAX);
00045 vtkGetMacro(Piece, int);
00047
00049
00050 vtkDataObject* GetOutput();
00051 vtkDataObject* GetOutput(int);
00053
00055
00056 void SetInput(vtkDataObject*);
00057 void SetInput(int, vtkDataObject*);
00059
00061
00062 virtual int ProcessRequest(vtkInformation* request,
00063 vtkInformationVector** inputVector,
00064 vtkInformationVector* outputVector);
00066
00067 protected:
00068 vtkPieceRequestFilter();
00069 ~vtkPieceRequestFilter() {};
00070
00071 virtual int RequestDataObject(vtkInformation* request,
00072 vtkInformationVector** inputVector,
00073 vtkInformationVector* outputVector);
00074
00075 virtual int RequestData(vtkInformation*,
00076 vtkInformationVector**,
00077 vtkInformationVector*);
00078
00079 virtual int RequestUpdateExtent(vtkInformation*,
00080 vtkInformationVector**,
00081 vtkInformationVector*);
00082
00083 virtual int FillOutputPortInformation(int port, vtkInformation* info);
00084 virtual int FillInputPortInformation(int port, vtkInformation* info);
00085
00086 int NumberOfPieces;
00087 int Piece;
00088
00089 private:
00090 vtkPieceRequestFilter(const vtkPieceRequestFilter&);
00091 void operator=(const vtkPieceRequestFilter&);
00092 };
00093
00094 #endif
00095
00096