VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkExtractVOI.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 =========================================================================*/ 00044 #ifndef vtkExtractVOI_h 00045 #define vtkExtractVOI_h 00046 00047 #include "vtkImagingCoreModule.h" // For export macro 00048 #include "vtkImageAlgorithm.h" 00049 00050 // Forward Declarations 00051 class vtkExtractStructuredGridHelper; 00052 00053 class VTKIMAGINGCORE_EXPORT vtkExtractVOI : public vtkImageAlgorithm 00054 { 00055 public: 00056 vtkTypeMacro(vtkExtractVOI,vtkImageAlgorithm); 00057 void PrintSelf(ostream& os, vtkIndent indent); 00058 00060 static vtkExtractVOI *New(); 00061 00063 00066 vtkSetVector6Macro(VOI,int); 00067 vtkGetVectorMacro(VOI,int,6); 00069 00071 00075 vtkSetVector3Macro(SampleRate, int); 00076 vtkGetVectorMacro(SampleRate, int, 3); 00078 00080 00086 vtkSetMacro(IncludeBoundary,int); 00087 vtkGetMacro(IncludeBoundary,int); 00088 vtkBooleanMacro(IncludeBoundary,int); 00090 00091 protected: 00092 vtkExtractVOI(); 00093 ~vtkExtractVOI(); 00094 00095 virtual int RequestUpdateExtent(vtkInformation*, 00096 vtkInformationVector**, 00097 vtkInformationVector*); 00098 virtual int RequestInformation (vtkInformation*, 00099 vtkInformationVector**, 00100 vtkInformationVector*); 00101 virtual int RequestData(vtkInformation* request, 00102 vtkInformationVector** inputVector, 00103 vtkInformationVector* outputVector); 00104 00106 00109 bool RequestDataImpl(int voi[6], 00110 vtkInformationVector **inputVector, 00111 vtkInformationVector *outputVector); 00113 00114 int VOI[6]; 00115 int SampleRate[3]; 00116 int IncludeBoundary; 00117 00118 vtkExtractStructuredGridHelper* Internal; 00119 private: 00120 vtkExtractVOI(const vtkExtractVOI&); // Not implemented. 00121 void operator=(const vtkExtractVOI&); // Not implemented. 00122 }; 00123 00124 #endif 00125 00126