00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00036 #ifndef __vtkPiecewiseFunctionAlgorithm_h
00037 #define __vtkPiecewiseFunctionAlgorithm_h
00038
00039 #include "vtkAlgorithm.h"
00040 #include "vtkPiecewiseFunction.h"
00041
00042 class vtkDataSet;
00043 class vtkDataObject;
00044
00045 class VTK_FILTERING_EXPORT vtkPiecewiseFunctionAlgorithm : public vtkAlgorithm
00046 {
00047 public:
00048 static vtkPiecewiseFunctionAlgorithm *New();
00049 vtkTypeMacro(vtkPiecewiseFunctionAlgorithm,vtkAlgorithm);
00050 void PrintSelf(ostream& os, vtkIndent indent);
00051
00053
00054 vtkDataObject* GetOutput();
00055 vtkDataObject* GetOutput(int);
00056 virtual void SetOutput(vtkDataObject* d);
00058
00060
00061 virtual int ProcessRequest(vtkInformation*,
00062 vtkInformationVector**,
00063 vtkInformationVector*);
00065
00066
00067
00068 vtkDataObject* GetInput();
00069 vtkDataObject *GetInput(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 vtkPiecewiseFunctionAlgorithm();
00094 ~vtkPiecewiseFunctionAlgorithm();
00095
00097
00099 virtual int RequestData(vtkInformation* request,
00100 vtkInformationVector** inputVector,
00101 vtkInformationVector* outputVector);
00103
00108 int UpdateExtentIsEmpty(vtkDataObject *output);
00109
00111
00112 virtual void ExecuteData(vtkDataObject *output);
00113 virtual void Execute();
00115
00116
00117 virtual int FillOutputPortInformation(int port, vtkInformation* info);
00118 virtual int FillInputPortInformation(int port, vtkInformation* info);
00119
00120 private:
00121 vtkPiecewiseFunctionAlgorithm(const vtkPiecewiseFunctionAlgorithm&);
00122 void operator=(const vtkPiecewiseFunctionAlgorithm&);
00123 };
00124
00125 #endif