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
00126 virtual int RequestInformation(vtkInformation*,
00127 vtkInformationVector**,
00128 vtkInformationVector*) {return 1;};
00130
00132
00136 virtual int RequestUpdateExtent(vtkInformation*,
00137 vtkInformationVector**,
00138 vtkInformationVector*)
00139 {
00140 return 1;
00141 };
00143
00144
00146
00153 virtual int RequestDataObject(vtkInformation* request,
00154 vtkInformationVector** inputVector,
00155 vtkInformationVector* outputVector);
00157
00159
00163 virtual int RequestData(vtkInformation*,
00164 vtkInformationVector**,
00165 vtkInformationVector*) {return 1;};
00167
00168
00169
00170 virtual int FillOutputPortInformation(int port, vtkInformation* info);
00171 virtual int FillInputPortInformation(int port, vtkInformation* info);
00172
00173 vtkDataObject *GetInput(int port);
00174
00175 private:
00176 vtkDataSetAlgorithm(const vtkDataSetAlgorithm&);
00177 void operator=(const vtkDataSetAlgorithm&);
00178 };
00179
00180 #endif
00181
00182