00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00025 #ifndef __vtkImageMultipleInputOutputFilter_h
00026 #define __vtkImageMultipleInputOutputFilter_h
00027
00028
00029 #include "vtkImageMultipleInputFilter.h"
00030
00031
00032 class VTK_FILTERING_EXPORT vtkImageMultipleInputOutputFilter : public vtkImageMultipleInputFilter
00033 {
00034 public:
00035 vtkTypeRevisionMacro(vtkImageMultipleInputOutputFilter,vtkImageMultipleInputFilter);
00036 void PrintSelf(ostream& os, vtkIndent indent);
00037
00039
00040 vtkImageData *GetOutput(int num);
00041 vtkImageData *GetOutput();
00043
00045
00048 virtual void ThreadedExecute(vtkImageData **inDatas,
00049 vtkImageData **outDatas,
00050 int extent[6], int threadId);
00052
00053 protected:
00054 vtkImageMultipleInputOutputFilter();
00055 ~vtkImageMultipleInputOutputFilter();
00056
00057 void ComputeInputUpdateExtents( vtkDataObject *output );
00058
00059 virtual void ComputeInputUpdateExtent( int inExt[6],
00060 int outExt[6],
00061 int whichInput );
00062
00063
00064 void ExecuteData(vtkDataObject *out);
00065
00066
00067 virtual void ThreadedExecute(vtkImageData **inDatas,
00068 vtkImageData *outData,
00069 int extent[6], int threadId);
00070 virtual void ExecuteInformation(vtkImageData **, vtkImageData *) {};
00071
00072
00073 void ExecuteInformation();
00074
00075 virtual void ExecuteInformation(vtkImageData **, vtkImageData **) {};
00076 private:
00077 vtkImageMultipleInputOutputFilter(const vtkImageMultipleInputOutputFilter&);
00078 void operator=(const vtkImageMultipleInputOutputFilter&);
00079 };
00080
00081 #endif
00082
00083
00084
00085
00086
00087
00088