00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00036 #ifndef __vtkGenericDataSetAlgorithm_h
00037 #define __vtkGenericDataSetAlgorithm_h
00038
00039 #include "vtkAlgorithm.h"
00040 #include "vtkGenericDataSet.h"
00041
00042 class vtkDataSet;
00043 class vtkGenericDataSet;
00044
00045 class VTK_FILTERING_EXPORT vtkGenericDataSetAlgorithm : public vtkAlgorithm
00046 {
00047 public:
00048 vtkTypeRevisionMacro(vtkGenericDataSetAlgorithm,vtkAlgorithm);
00049 void PrintSelf(ostream& os, vtkIndent indent);
00050
00052
00053 vtkGenericDataSet* GetOutput();
00054 vtkGenericDataSet* GetOutput(int);
00055 virtual void SetOutput(vtkDataObject* d);
00057
00059
00060 virtual int ProcessRequest(vtkInformation*,
00061 vtkInformationVector**,
00062 vtkInformationVector*);
00064
00065
00066
00067 vtkDataObject* GetInput();
00068 vtkDataObject *GetInput(int port);
00069 vtkGenericDataSet *GetGenericDataSetInput(int port);
00070
00072
00079 void SetInput(vtkDataObject *);
00080 void SetInput(int, vtkDataObject*);
00082
00084
00088 void AddInput(vtkDataObject *);
00089 void AddInput(int, vtkDataObject*);
00091
00092 protected:
00093 vtkGenericDataSetAlgorithm();
00094 ~vtkGenericDataSetAlgorithm();
00095
00096
00097 virtual int RequestInformation(vtkInformation* request,
00098 vtkInformationVector** inputVector,
00099 vtkInformationVector* outputVector);
00100
00102
00105 virtual int RequestData(vtkInformation* request,
00106 vtkInformationVector** inputVector,
00107 vtkInformationVector* outputVector);
00109
00111
00114 virtual int RequestDataObject(vtkInformation* request,
00115 vtkInformationVector** inputVector,
00116 vtkInformationVector* outputVector)=0;
00118
00120
00123 virtual int RequestUpdateExtent(vtkInformation*,
00124 vtkInformationVector**,
00125 vtkInformationVector*);
00127
00129
00130 virtual void ExecuteData(vtkDataObject *output);
00131 virtual void Execute();
00133
00134
00135 virtual int FillOutputPortInformation(int port, vtkInformation* info);
00136 virtual int FillInputPortInformation(int port, vtkInformation* info);
00137
00138 private:
00139 vtkGenericDataSetAlgorithm(const vtkGenericDataSetAlgorithm&);
00140 void operator=(const vtkGenericDataSetAlgorithm&);
00141 };
00142
00143 #endif