00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00025 #ifndef __vtkImageDecomposeFilter_h
00026 #define __vtkImageDecomposeFilter_h
00027 
00028 
00029 #include "vtkImageIterateFilter.h"
00030 
00031 class VTK_IMAGING_EXPORT vtkImageDecomposeFilter : public vtkImageIterateFilter
00032 {
00033 public:
00035 
00037   vtkTypeMacro(vtkImageDecomposeFilter,vtkImageIterateFilter);
00038   void PrintSelf(ostream& os, vtkIndent indent);
00040 
00042 
00044   void SetDimensionality(int dim);
00045   vtkGetMacro(Dimensionality,int);
00047 
00049 
00050   void PermuteIncrements(vtkIdType *increments, vtkIdType &inc0,
00051                          vtkIdType &inc1, vtkIdType &inc2);
00052   void PermuteExtent(int *extent, int &min0, int &max0, int &min1, int &max1,
00053                      int &min2, int &max2);
00055   
00056 protected:
00057   vtkImageDecomposeFilter();
00058   ~vtkImageDecomposeFilter() {};
00059 
00060   int Dimensionality;
00061 
00062 
00063 private:
00064   vtkImageDecomposeFilter(const vtkImageDecomposeFilter&);  
00065   void operator=(const vtkImageDecomposeFilter&);  
00066 };
00067 
00068 #endif
00069 
00070 
00071 
00072 
00073 
00074 
00075 
00076 
00077 
00078