Imaging/vtkImageChangeInformation.h
Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00026 #ifndef __vtkImageChangeInformation_h
00027 #define __vtkImageChangeInformation_h
00028 
00029 #include "vtkImageToImageFilter.h"
00030 
00031 class vtkImageData;
00032 
00033 class VTK_IMAGING_EXPORT vtkImageChangeInformation : public vtkImageToImageFilter
00034 {
00035 public:
00036   static vtkImageChangeInformation *New();
00037   vtkTypeRevisionMacro(vtkImageChangeInformation, vtkImageToImageFilter);
00038   void PrintSelf(ostream& os, vtkIndent indent);
00039 
00041 
00043   virtual void SetInformationInput(vtkImageData*);
00044   vtkGetObjectMacro(InformationInput, vtkImageData);
00046 
00048 
00052   vtkSetVector3Macro(OutputExtentStart, int);
00053   vtkGetVector3Macro(OutputExtentStart, int);
00055 
00057 
00060   vtkSetVector3Macro(OutputSpacing, double);
00061   vtkGetVector3Macro(OutputSpacing, double);
00063 
00065 
00068   vtkSetVector3Macro(OutputOrigin, double);
00069   vtkGetVector3Macro(OutputOrigin, double);
00071 
00073 
00077   vtkSetMacro(CenterImage, int);
00078   vtkBooleanMacro(CenterImage, int);
00079   vtkGetMacro(CenterImage, int);
00081 
00083 
00084   vtkSetVector3Macro(ExtentTranslation, int);
00085   vtkGetVector3Macro(ExtentTranslation, int);
00087 
00089 
00090   vtkSetVector3Macro(SpacingScale, double);
00091   vtkGetVector3Macro(SpacingScale, double);
00093 
00095 
00096   vtkSetVector3Macro(OriginTranslation, double);
00097   vtkGetVector3Macro(OriginTranslation, double);
00099 
00101 
00103   vtkSetVector3Macro(OriginScale, double);
00104   vtkGetVector3Macro(OriginScale, double);
00106 
00107 protected:
00108   vtkImageChangeInformation();
00109   ~vtkImageChangeInformation();
00110 
00111   vtkImageData *InformationInput;
00112   int CenterImage;
00113 
00114   int OutputExtentStart[3];
00115   int ExtentTranslation[3];
00116   int FinalExtentTranslation[3];
00117   
00118   double OutputSpacing[3];
00119   double SpacingScale[3];
00120 
00121   double OutputOrigin[3];
00122   double OriginScale[3];
00123   double OriginTranslation[3];
00124   
00125   void ComputeInputUpdateExtent(int extent[6], int wholeExtent[6]);
00126   void ExecuteInformation(vtkImageData *inData, vtkImageData *outData);
00127   void ExecuteInformation() {
00128     this->vtkImageToImageFilter::ExecuteInformation(); };
00129   void ExecuteData(vtkDataObject *data);
00130 private:
00131   vtkImageChangeInformation(const vtkImageChangeInformation&);  
00132   void operator=(const vtkImageChangeInformation&);  
00133 };
00134 
00135 
00136 
00137 #endif
00138 
00139 
00140