00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00026 #ifndef __vtkImageStencilAlgorithm_h
00027 #define __vtkImageStencilAlgorithm_h
00028
00029
00030 #include "vtkAlgorithm.h"
00031
00032 class vtkImageStencilData;
00033
00034 class VTK_IMAGING_EXPORT vtkImageStencilAlgorithm : public vtkAlgorithm
00035 {
00036 public:
00037 static vtkImageStencilAlgorithm *New();
00038 vtkTypeMacro(vtkImageStencilAlgorithm, vtkAlgorithm);
00039
00040 void PrintSelf(ostream& os, vtkIndent indent);
00041
00043
00044 void SetOutput(vtkImageStencilData *output);
00045 vtkImageStencilData *GetOutput();
00047
00049
00050 virtual int ProcessRequest(vtkInformation*,
00051 vtkInformationVector**,
00052 vtkInformationVector*);
00054
00055 protected:
00056 vtkImageStencilAlgorithm();
00057 ~vtkImageStencilAlgorithm();
00058
00059 virtual int RequestData(vtkInformation *, vtkInformationVector **,
00060 vtkInformationVector *);
00061 virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
00062 vtkInformationVector *);
00063 virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
00064 vtkInformationVector *);
00065 vtkImageStencilData *AllocateOutputData(vtkDataObject *out, int* updateExt);
00066
00067 virtual int FillOutputPortInformation(int, vtkInformation*);
00068
00069 private:
00070 vtkImageStencilAlgorithm(const vtkImageStencilAlgorithm&);
00071 void operator=(const vtkImageStencilAlgorithm&);
00072 };
00073
00074 #endif