Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkImageChangeInformation.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkImageChangeInformation.h,v $
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 =========================================================================*/
00037 #ifndef __vtkImageChangeInformation_h
00038 #define __vtkImageChangeInformation_h
00039 
00040 #include "vtkImageToImageFilter.h"
00041 
00042 class vtkImageData;
00043 
00044 class VTK_IMAGING_EXPORT vtkImageChangeInformation : public vtkImageToImageFilter
00045 {
00046 public:
00047   static vtkImageChangeInformation *New();
00048   vtkTypeRevisionMacro(vtkImageChangeInformation, vtkImageToImageFilter);
00049   void PrintSelf(ostream& os, vtkIndent indent);
00050 
00052 
00054   virtual void SetInformationInput(vtkImageData*);
00055   virtual vtkImageData *GetInformationInput();
00057 
00059 
00063   vtkSetVector3Macro(OutputExtentStart, int);
00064   vtkGetVector3Macro(OutputExtentStart, int);
00066 
00068 
00071   vtkSetVector3Macro(OutputSpacing, double);
00072   vtkGetVector3Macro(OutputSpacing, double);
00074 
00076 
00079   vtkSetVector3Macro(OutputOrigin, double);
00080   vtkGetVector3Macro(OutputOrigin, double);
00082 
00084 
00088   vtkSetMacro(CenterImage, int);
00089   vtkBooleanMacro(CenterImage, int);
00090   vtkGetMacro(CenterImage, int);
00092 
00094 
00095   vtkSetVector3Macro(ExtentTranslation, int);
00096   vtkGetVector3Macro(ExtentTranslation, int);
00098 
00100 
00101   vtkSetVector3Macro(SpacingScale, double);
00102   vtkGetVector3Macro(SpacingScale, double);
00104 
00106 
00107   vtkSetVector3Macro(OriginTranslation, double);
00108   vtkGetVector3Macro(OriginTranslation, double);
00110 
00112 
00114   vtkSetVector3Macro(OriginScale, double);
00115   vtkGetVector3Macro(OriginScale, double);
00117 
00118 protected:
00119   vtkImageChangeInformation();
00120   ~vtkImageChangeInformation();
00121 
00122   int CenterImage;
00123 
00124   int OutputExtentStart[3];
00125   int ExtentTranslation[3];
00126   int FinalExtentTranslation[3];
00127   
00128   double OutputSpacing[3];
00129   double SpacingScale[3];
00130 
00131   double OutputOrigin[3];
00132   double OriginScale[3];
00133   double OriginTranslation[3];
00134   
00135   void ComputeInputUpdateExtent(int extent[6], int wholeExtent[6]);
00136   void ExecuteInformation(vtkImageData *inData, vtkImageData *outData);
00137   void ExecuteInformation() {
00138     this->vtkImageToImageFilter::ExecuteInformation(); };
00139   void ExecuteData(vtkDataObject *data);
00140 private:
00141   vtkImageChangeInformation(const vtkImageChangeInformation&);  // Not implemented.
00142   void operator=(const vtkImageChangeInformation&);  // Not implemented.
00143 };
00144 
00145 
00146 
00147 #endif
00148 
00149 
00150