00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00036 #ifndef __vtkDataSetAlgorithm_h
00037 #define __vtkDataSetAlgorithm_h
00038
00039 #include "vtkAlgorithm.h"
00040
00041 class vtkDataSet;
00042 class vtkImageData;
00043 class vtkPolyData;
00044 class vtkStructuredPoints;
00045 class vtkStructuredGrid;
00046 class vtkUnstructuredGrid;
00047 class vtkRectilinearGrid;
00048
00049 class VTK_FILTERING_EXPORT vtkDataSetAlgorithm : public vtkAlgorithm
00050 {
00051 public:
00052 static vtkDataSetAlgorithm *New();
00053 vtkTypeRevisionMacro(vtkDataSetAlgorithm,vtkAlgorithm);
00054 void PrintSelf(ostream& os, vtkIndent indent);
00055
00057
00058 vtkDataSet* GetOutput();
00059 vtkDataSet* GetOutput(int);
00061
00064 vtkDataObject* GetInput();
00065
00067 vtkPolyData *GetPolyDataOutput();
00068
00070 vtkStructuredPoints *GetStructuredPointsOutput();
00071
00073 vtkImageData *GetImageDataOutput();
00074
00076 vtkStructuredGrid *GetStructuredGridOutput();
00077
00079 vtkUnstructuredGrid *GetUnstructuredGridOutput();
00080
00082 vtkRectilinearGrid *GetRectilinearGridOutput();
00083
00085
00092 void SetInput(vtkDataObject*);
00093 void SetInput(int, vtkDataObject*);
00094 void SetInput(vtkDataSet*);
00095 void SetInput(int, vtkDataSet*);
00097
00099
00103 void AddInput(vtkDataObject *);
00104 void AddInput(vtkDataSet*);
00105 void AddInput(int, vtkDataSet*);
00106 void AddInput(int, vtkDataObject*);
00108
00110
00111 virtual int ProcessRequest(vtkInformation* request,
00112 vtkInformationVector** inputVector,
00113 vtkInformationVector* outputVector);
00115
00116 protected:
00117 vtkDataSetAlgorithm();
00118 ~vtkDataSetAlgorithm() {};
00119
00121
00123 virtual int RequestDataObject(vtkInformation* request,
00124 vtkInformationVector** inputVector,
00125 vtkInformationVector* outputVector);
00127
00129
00131 virtual int RequestInformation(vtkInformation*,
00132 vtkInformationVector**,
00133 vtkInformationVector*) {return 1;};
00135
00137
00139 virtual int RequestData(vtkInformation*,
00140 vtkInformationVector**,
00141 vtkInformationVector*) {return 1;};
00143
00145
00147 virtual int RequestUpdateExtent(vtkInformation*,
00148 vtkInformationVector**,
00149 vtkInformationVector*)
00150 {
00151 return 1;
00152 };
00154
00155
00156 virtual int FillOutputPortInformation(int port, vtkInformation* info);
00157 virtual int FillInputPortInformation(int port, vtkInformation* info);
00158
00159 vtkDataObject *GetInput(int port);
00160
00161 private:
00162 vtkDataSetAlgorithm(const vtkDataSetAlgorithm&);
00163 void operator=(const vtkDataSetAlgorithm&);
00164 };
00165
00166 #endif
00167
00168