VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Common/ExecutionModel/vtkUnstructuredGridBaseAlgorithm.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkUnstructuredGridBaseAlgorithm.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 =========================================================================*/
00029 #ifndef vtkUnstructuredGridBaseAlgorithm_h
00030 #define vtkUnstructuredGridBaseAlgorithm_h
00031 
00032 #include "vtkCommonExecutionModelModule.h" // For export macro
00033 #include "vtkAlgorithm.h"
00034 
00035 class vtkDataSet;
00036 class vtkUnstructuredGridBase;
00037 
00038 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkUnstructuredGridBaseAlgorithm
00039     : public vtkAlgorithm
00040 {
00041 public:
00042   static vtkUnstructuredGridBaseAlgorithm *New();
00043   vtkTypeMacro(vtkUnstructuredGridBaseAlgorithm, vtkAlgorithm)
00044   void PrintSelf(ostream& os, vtkIndent indent);
00045 
00047 
00048   vtkUnstructuredGridBase* GetOutput();
00049   vtkUnstructuredGridBase* GetOutput(int);
00050   virtual void SetOutput(vtkDataObject* d);
00052 
00054 
00055   virtual int ProcessRequest(vtkInformation*,
00056                              vtkInformationVector**,
00057                              vtkInformationVector*);
00059 
00061 
00064   void SetInputData(vtkDataObject *);
00065   void SetInputData(int, vtkDataObject*);
00067 
00069 
00072   void AddInputData(vtkDataObject *);
00073   void AddInputData(int, vtkDataObject*);
00075 
00076 protected:
00077   vtkUnstructuredGridBaseAlgorithm();
00078   ~vtkUnstructuredGridBaseAlgorithm();
00079 
00080   // convenience method
00081   virtual int RequestInformation(vtkInformation* request,
00082                                  vtkInformationVector** inputVector,
00083                                  vtkInformationVector* outputVector);
00084 
00086 
00088   virtual int RequestData(vtkInformation* request,
00089                           vtkInformationVector** inputVector,
00090                           vtkInformationVector* outputVector);
00092 
00094 
00096   virtual int RequestDataObject(vtkInformation* request,
00097                                 vtkInformationVector** inputVector,
00098                                 vtkInformationVector* outputVector);
00100 
00102 
00104   virtual int RequestUpdateExtent(vtkInformation*,
00105                                   vtkInformationVector**,
00106                                   vtkInformationVector*);
00108 
00109   // see algorithm for more info
00110   virtual int FillOutputPortInformation(int port, vtkInformation* info);
00111   virtual int FillInputPortInformation(int port, vtkInformation* info);
00112 
00113 private:
00114   vtkUnstructuredGridBaseAlgorithm(const vtkUnstructuredGridBaseAlgorithm&); // Not implemented.
00115   void operator=(const vtkUnstructuredGridBaseAlgorithm&); // Not implemented.
00116 };
00117 
00118 #endif