VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Imaging/Core/vtkImageChangeInformation.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkImageChangeInformation.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 =========================================================================*/
00026 #ifndef vtkImageChangeInformation_h
00027 #define vtkImageChangeInformation_h
00028 
00029 #include "vtkImagingCoreModule.h" // For export macro
00030 #include "vtkImageAlgorithm.h"
00031 
00032 class vtkImageData;
00033 
00034 class VTKIMAGINGCORE_EXPORT vtkImageChangeInformation : public vtkImageAlgorithm
00035 {
00036 public:
00037   static vtkImageChangeInformation *New();
00038   vtkTypeMacro(vtkImageChangeInformation, vtkImageAlgorithm);
00039   void PrintSelf(ostream& os, vtkIndent indent);
00040 
00042 
00044   virtual void SetInformationInputData(vtkImageData*);
00045   virtual vtkImageData *GetInformationInput();
00047 
00049 
00053   vtkSetVector3Macro(OutputExtentStart, int);
00054   vtkGetVector3Macro(OutputExtentStart, int);
00056 
00058 
00061   vtkSetVector3Macro(OutputSpacing, double);
00062   vtkGetVector3Macro(OutputSpacing, double);
00064 
00066 
00069   vtkSetVector3Macro(OutputOrigin, double);
00070   vtkGetVector3Macro(OutputOrigin, double);
00072 
00074 
00078   vtkSetMacro(CenterImage, int);
00079   vtkBooleanMacro(CenterImage, int);
00080   vtkGetMacro(CenterImage, int);
00082 
00084 
00085   vtkSetVector3Macro(ExtentTranslation, int);
00086   vtkGetVector3Macro(ExtentTranslation, int);
00088 
00090 
00091   vtkSetVector3Macro(SpacingScale, double);
00092   vtkGetVector3Macro(SpacingScale, double);
00094 
00096 
00097   vtkSetVector3Macro(OriginTranslation, double);
00098   vtkGetVector3Macro(OriginTranslation, double);
00100 
00102 
00104   vtkSetVector3Macro(OriginScale, double);
00105   vtkGetVector3Macro(OriginScale, double);
00107 
00108 protected:
00109   vtkImageChangeInformation();
00110   ~vtkImageChangeInformation();
00111 
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   virtual int RequestUpdateExtent (vtkInformation *,
00126                                    vtkInformationVector **,
00127                                    vtkInformationVector *);
00128   virtual int RequestInformation (vtkInformation *,
00129                                   vtkInformationVector **,
00130                                   vtkInformationVector *);
00131 
00132   virtual int RequestData(vtkInformation *,
00133                           vtkInformationVector **,
00134                           vtkInformationVector *);
00135 
00136   virtual int FillInputPortInformation(int port, vtkInformation *info);
00137 
00138 private:
00139   vtkImageChangeInformation(const vtkImageChangeInformation&);  // Not implemented.
00140   void operator=(const vtkImageChangeInformation&);  // Not implemented.
00141 };
00142 
00143 
00144 
00145 #endif
00146 
00147 
00148