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

Imaging/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 =========================================================================*/
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&);  // Not implemented.
00132   void operator=(const vtkImageChangeInformation&);  // Not implemented.
00133 };
00134 
00135 
00136 
00137 #endif
00138 
00139 
00140