VTK
dox/Imaging/Core/vtkImagePadFilter.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkImagePadFilter.h
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00024 #ifndef __vtkImagePadFilter_h
00025 #define __vtkImagePadFilter_h
00026 
00027 #include "vtkImagingCoreModule.h" // For export macro
00028 #include "vtkThreadedImageAlgorithm.h"
00029 
00030 class VTKIMAGINGCORE_EXPORT vtkImagePadFilter : public vtkThreadedImageAlgorithm
00031 {
00032 public:
00033   static vtkImagePadFilter *New();
00034   vtkTypeMacro(vtkImagePadFilter,vtkThreadedImageAlgorithm);
00035   void PrintSelf(ostream& os, vtkIndent indent);
00036 
00038 
00039   void SetOutputWholeExtent(int extent[6]);
00040   void SetOutputWholeExtent(int minX, int maxX, int minY, int maxY,
00041                             int minZ, int maxZ);
00042   void GetOutputWholeExtent(int extent[6]);
00043   int *GetOutputWholeExtent() {return this->OutputWholeExtent;}
00045 
00047 
00048   vtkSetMacro(OutputNumberOfScalarComponents, int);
00049   vtkGetMacro(OutputNumberOfScalarComponents, int);
00051 
00052 protected:
00053   vtkImagePadFilter();
00054   ~vtkImagePadFilter() {};
00055 
00056   int OutputWholeExtent[6];
00057   int OutputNumberOfScalarComponents;
00058 
00059   virtual int RequestInformation (vtkInformation*,
00060                                   vtkInformationVector**,
00061                                   vtkInformationVector*);
00062   virtual int RequestUpdateExtent(vtkInformation*,
00063                                   vtkInformationVector**,
00064                                   vtkInformationVector*);
00065 
00066   virtual void ComputeInputUpdateExtent (int inExt[6], int outExt[6],
00067                                          int wExt[6]);
00068 
00069 private:
00070   vtkImagePadFilter(const vtkImagePadFilter&);  // Not implemented.
00071   void operator=(const vtkImagePadFilter&);  // Not implemented.
00072 };
00073 
00074 #endif
00075 
00076 
00077