VTK
dox/Common/ExecutionModel/vtkPassInputTypeAlgorithm.h
Go to the documentation of this file.
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