VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkPassInputTypeAlgorithm.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 =========================================================================*/ 00033 #ifndef __vtkPassInputTypeAlgorithm_h 00034 #define __vtkPassInputTypeAlgorithm_h 00035 00036 #include "vtkCommonExecutionModelModule.h" // For export macro 00037 #include "vtkAlgorithm.h" 00038 00039 class vtkDataObject; 00040 class vtkGraph; 00041 class vtkImageData; 00042 class vtkPolyData; 00043 class vtkStructuredPoints; 00044 class vtkStructuredGrid; 00045 class vtkUnstructuredGrid; 00046 class vtkRectilinearGrid; 00047 class vtkTable; 00048 00049 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkPassInputTypeAlgorithm : public vtkAlgorithm 00050 { 00051 public: 00052 static vtkPassInputTypeAlgorithm *New(); 00053 vtkTypeMacro(vtkPassInputTypeAlgorithm,vtkAlgorithm); 00054 void PrintSelf(ostream& os, vtkIndent indent); 00055 00057 00058 vtkDataObject* GetOutput(); 00059 vtkDataObject* GetOutput(int); 00061 00063 vtkPolyData *GetPolyDataOutput(); 00064 00066 vtkStructuredPoints *GetStructuredPointsOutput(); 00067 00069 vtkImageData *GetImageDataOutput(); 00070 00072 vtkStructuredGrid *GetStructuredGridOutput(); 00073 00075 vtkUnstructuredGrid *GetUnstructuredGridOutput(); 00076 00078 vtkRectilinearGrid *GetRectilinearGridOutput(); 00079 00081 vtkTable *GetTableOutput(); 00082 00084 vtkGraph *GetGraphOutput(); 00085 00088 vtkDataObject* GetInput(); 00089 00091 00094 void SetInputData(vtkDataObject*); 00095 void SetInputData(int, vtkDataObject*); 00097 00099 00102 void AddInputData(vtkDataObject *); 00103 void AddInputData(int, vtkDataObject*); 00105 00106 00108 00109 virtual int ProcessRequest(vtkInformation* request, 00110 vtkInformationVector** inputVector, 00111 vtkInformationVector* outputVector); 00113 00114 protected: 00115 vtkPassInputTypeAlgorithm(); 00116 ~vtkPassInputTypeAlgorithm() {} 00117 00119 00124 virtual int RequestInformation(vtkInformation*, 00125 vtkInformationVector**, 00126 vtkInformationVector*) {return 1;}; 00128 00129 00130 virtual int RequestUpdateTime (vtkInformation*, 00131 vtkInformationVector**, 00132 vtkInformationVector*) { return 1;} 00133 00134 virtual int RequestUpdateTimeDependentInformation (vtkInformation*, 00135 vtkInformationVector**, 00136 vtkInformationVector*) { return 1;} 00137 00138 00140 00144 virtual int RequestUpdateExtent(vtkInformation*, 00145 vtkInformationVector**, 00146 vtkInformationVector*) 00147 { 00148 return 1; 00149 }; 00151 00152 00154 00161 virtual int RequestDataObject(vtkInformation* request, 00162 vtkInformationVector** inputVector, 00163 vtkInformationVector* outputVector); 00165 00167 00171 virtual int RequestData(vtkInformation*, 00172 vtkInformationVector**, 00173 vtkInformationVector*) {return 1;}; 00175 00176 00177 // see algorithm for more info 00178 virtual int FillOutputPortInformation(int port, vtkInformation* info); 00179 virtual int FillInputPortInformation(int port, vtkInformation* info); 00180 00181 vtkDataObject *GetInput(int port); 00182 00183 private: 00184 vtkPassInputTypeAlgorithm(const vtkPassInputTypeAlgorithm&); // Not implemented. 00185 void operator=(const vtkPassInputTypeAlgorithm&); // Not implemented. 00186 }; 00187 00188 #endif 00189 00190