VTK
|
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 "vtkImageAlgorithm.h" 00030 00031 class vtkImageData; 00032 00033 class VTK_IMAGING_EXPORT vtkImageChangeInformation : public vtkImageAlgorithm 00034 { 00035 public: 00036 static vtkImageChangeInformation *New(); 00037 vtkTypeMacro(vtkImageChangeInformation, vtkImageAlgorithm); 00038 void PrintSelf(ostream& os, vtkIndent indent); 00039 00041 00043 virtual void SetInformationInput(vtkImageData*); 00044 virtual vtkImageData *GetInformationInput(); 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 int CenterImage; 00112 00113 int OutputExtentStart[3]; 00114 int ExtentTranslation[3]; 00115 int FinalExtentTranslation[3]; 00116 00117 double OutputSpacing[3]; 00118 double SpacingScale[3]; 00119 00120 double OutputOrigin[3]; 00121 double OriginScale[3]; 00122 double OriginTranslation[3]; 00123 00124 virtual int RequestUpdateExtent (vtkInformation *, 00125 vtkInformationVector **, 00126 vtkInformationVector *); 00127 virtual int RequestInformation (vtkInformation *, 00128 vtkInformationVector **, 00129 vtkInformationVector *); 00130 00131 virtual int RequestData(vtkInformation *, 00132 vtkInformationVector **, 00133 vtkInformationVector *); 00134 00135 virtual int FillInputPortInformation(int port, vtkInformation *info); 00136 00137 private: 00138 vtkImageChangeInformation(const vtkImageChangeInformation&); // Not implemented. 00139 void operator=(const vtkImageChangeInformation&); // Not implemented. 00140 }; 00141 00142 00143 00144 #endif 00145 00146 00147