VTK
|
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 "vtkFiltersParallelModule.h" // For export macro 00026 #include "vtkAlgorithm.h" 00027 00028 class vtkDataObject; 00029 00030 class VTKFILTERSPARALLEL_EXPORT vtkPieceRequestFilter : public vtkAlgorithm 00031 { 00032 public: 00033 static vtkPieceRequestFilter *New(); 00034 vtkTypeMacro(vtkPieceRequestFilter,vtkAlgorithm); 00035 void PrintSelf(ostream& os, vtkIndent indent); 00036 00038 00039 vtkSetClampMacro(NumberOfPieces, int, 0, VTK_INT_MAX); 00040 vtkGetMacro(NumberOfPieces, int); 00042 00044 00045 vtkSetClampMacro(Piece, int, 0, VTK_INT_MAX); 00046 vtkGetMacro(Piece, int); 00048 00050 00051 vtkDataObject* GetOutput(); 00052 vtkDataObject* GetOutput(int); 00054 00056 00057 void SetInputData(vtkDataObject*); 00058 void SetInputData(int, vtkDataObject*); 00060 00062 00063 virtual int ProcessRequest(vtkInformation* request, 00064 vtkInformationVector** inputVector, 00065 vtkInformationVector* outputVector); 00067 00068 protected: 00069 vtkPieceRequestFilter(); 00070 ~vtkPieceRequestFilter() {} 00071 00072 virtual int RequestDataObject(vtkInformation* request, 00073 vtkInformationVector** inputVector, 00074 vtkInformationVector* outputVector); 00075 00076 virtual int RequestData(vtkInformation*, 00077 vtkInformationVector**, 00078 vtkInformationVector*); 00079 00080 virtual int RequestUpdateExtent(vtkInformation*, 00081 vtkInformationVector**, 00082 vtkInformationVector*); 00083 00084 virtual int FillOutputPortInformation(int port, vtkInformation* info); 00085 virtual int FillInputPortInformation(int port, vtkInformation* info); 00086 00087 int NumberOfPieces; 00088 int Piece; 00089 00090 private: 00091 vtkPieceRequestFilter(const vtkPieceRequestFilter&); // Not implemented. 00092 void operator=(const vtkPieceRequestFilter&); // Not implemented. 00093 }; 00094 00095 #endif 00096 00097