Imaging/vtkImageAppend.h
Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00031 #ifndef __vtkImageAppend_h
00032 #define __vtkImageAppend_h
00033 
00034 
00035 #include "vtkImageMultipleInputFilter.h"
00036 
00037 class VTK_IMAGING_EXPORT vtkImageAppend : public vtkImageMultipleInputFilter
00038 {
00039 public:
00040   static vtkImageAppend *New();
00041   vtkTypeRevisionMacro(vtkImageAppend,vtkImageMultipleInputFilter);
00042   void PrintSelf(ostream& os, vtkIndent indent);
00043   
00045 
00048   vtkSetMacro(AppendAxis, int);
00049   vtkGetMacro(AppendAxis, int);
00051   
00053 
00059   vtkSetMacro(PreserveExtents, int);
00060   vtkGetMacro(PreserveExtents, int);
00061   vtkBooleanMacro(PreserveExtents, int);
00063 
00064 protected:
00065   vtkImageAppend();
00066   ~vtkImageAppend();
00067 
00068   int PreserveExtents;
00069   int AppendAxis;
00070   
00071   int *Shifts;
00072 
00073   void ExecuteInformation(vtkImageData **inputs, vtkImageData *output);
00074   void ComputeInputUpdateExtent(int inExt[6], int outExt[6], int whichInput);
00075   void ExecuteInformation(){this->vtkImageMultipleInputFilter::ExecuteInformation();};
00076   
00077   void ThreadedExecute(vtkImageData **inDatas, vtkImageData *outData,
00078                        int extent[6], int id);
00079 
00080   void InitOutput(int outExt[6], vtkImageData *outData);
00081 private:
00082   vtkImageAppend(const vtkImageAppend&);  
00083   void operator=(const vtkImageAppend&);  
00084 };
00085 
00086 #endif
00087 
00088 
00089 
00090