VTK
dox/Imaging/Core/vtkImageMagnify.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkImageMagnify.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 =========================================================================*/
00031 #ifndef __vtkImageMagnify_h
00032 #define __vtkImageMagnify_h
00033 
00034 #include "vtkImagingCoreModule.h" // For export macro
00035 #include "vtkThreadedImageAlgorithm.h"
00036 
00037 class VTKIMAGINGCORE_EXPORT vtkImageMagnify : public vtkThreadedImageAlgorithm
00038 {
00039 public:
00040   static vtkImageMagnify *New();
00041   vtkTypeMacro(vtkImageMagnify,vtkThreadedImageAlgorithm);
00042   void PrintSelf(ostream& os, vtkIndent indent);
00043 
00045 
00047   vtkSetVector3Macro(MagnificationFactors,int);
00048   vtkGetVector3Macro(MagnificationFactors,int);
00050 
00052 
00054   vtkSetMacro(Interpolate,int);
00055   vtkGetMacro(Interpolate,int);
00056   vtkBooleanMacro(Interpolate,int);
00058 
00059 protected:
00060   vtkImageMagnify();
00061   ~vtkImageMagnify() {};
00062 
00063   int MagnificationFactors[3];
00064   int Interpolate;
00065   virtual int RequestUpdateExtent(vtkInformation *,
00066                                   vtkInformationVector **,
00067                                   vtkInformationVector *);
00068   virtual int RequestInformation(vtkInformation *,
00069                                  vtkInformationVector **,
00070                                  vtkInformationVector *);
00071 
00072   void ThreadedRequestData(vtkInformation *request,
00073                            vtkInformationVector **inputVector,
00074                            vtkInformationVector *outputVector,
00075                            vtkImageData ***inData,
00076                            vtkImageData **outData,
00077                            int outExt[6],
00078                            int id);
00079 
00080   void InternalRequestUpdateExtent(int *inExt, int *outExt);
00081 
00082 private:
00083   vtkImageMagnify(const vtkImageMagnify&);  // Not implemented.
00084   void operator=(const vtkImageMagnify&);  // Not implemented.
00085 };
00086 
00087 #endif
00088 
00089 
00090 
00091