VTK
dox/Parallel/vtkPieceRequestFilter.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkPieceRequestFilter.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 =========================================================================*/
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&);  // Not implemented.
00091   void operator=(const vtkPieceRequestFilter&);  // Not implemented.
00092 };
00093 
00094 #endif
00095 
00096