VTK
dox/Common/ExecutionModel/vtkMultiBlockDataSetAlgorithm.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkMultiBlockDataSetAlgorithm.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 =========================================================================*/
00023 #ifndef __vtkMultiBlockDataSetAlgorithm_h
00024 #define __vtkMultiBlockDataSetAlgorithm_h
00025 
00026 #include "vtkCommonExecutionModelModule.h" // For export macro
00027 #include "vtkAlgorithm.h"
00028 
00029 class vtkMultiBlockDataSet;
00030 
00031 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkMultiBlockDataSetAlgorithm : public vtkAlgorithm
00032 {
00033 public:
00034   static vtkMultiBlockDataSetAlgorithm *New();
00035   vtkTypeMacro(vtkMultiBlockDataSetAlgorithm,vtkAlgorithm);
00036   void PrintSelf(ostream& os, vtkIndent indent);
00037 
00039 
00040   vtkMultiBlockDataSet* GetOutput();
00041   vtkMultiBlockDataSet* GetOutput(int);
00043 
00045 
00048   void SetInputData(vtkDataObject*);
00049   void SetInputData(int, vtkDataObject*);
00051 
00053 
00054   virtual int ProcessRequest(vtkInformation* request,
00055                              vtkInformationVector** inputVector,
00056                              vtkInformationVector* outputVector);
00058 
00059 protected:
00060   vtkMultiBlockDataSetAlgorithm();
00061   ~vtkMultiBlockDataSetAlgorithm() {}
00062 
00064 
00066   virtual int RequestDataObject(vtkInformation*,
00067                                 vtkInformationVector**,
00068                                 vtkInformationVector*) {return 1;};
00070 
00072 
00074   virtual int RequestInformation(vtkInformation*,
00075                                  vtkInformationVector**,
00076                                  vtkInformationVector*) {return 1;};
00078 
00080 
00082   virtual int RequestData(vtkInformation*,
00083                           vtkInformationVector**,
00084                           vtkInformationVector*) {return 1;};
00086 
00088 
00090   virtual int RequestUpdateExtent(vtkInformation*,
00091                                   vtkInformationVector**,
00092                                   vtkInformationVector*)
00093     {
00094       return 1;
00095     };
00097 
00098   // Create a default executive.
00099   virtual vtkExecutive* CreateDefaultExecutive();
00100 
00101   // see algorithm for more info
00102   virtual int FillOutputPortInformation(int port, vtkInformation* info);
00103   virtual int FillInputPortInformation(int port, vtkInformation* info);
00104 
00105   vtkDataObject *GetInput(int port);
00106 
00107 private:
00108   vtkMultiBlockDataSetAlgorithm(const vtkMultiBlockDataSetAlgorithm&);  // Not implemented.
00109   void operator=(const vtkMultiBlockDataSetAlgorithm&);  // Not implemented.
00110 };
00111 
00112 #endif
00113 
00114