VTK
|
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