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