VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkPResampleFilter.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 =========================================================================*/ 00023 #ifndef vtkPResampleFilter_h 00024 #define vtkPResampleFilter_h 00025 00026 #include "vtkFiltersParallelModule.h" // For export macro 00027 #include "vtkImageAlgorithm.h" 00028 00029 class vtkMultiProcessController; 00030 00031 class VTKFILTERSPARALLEL_EXPORT vtkPResampleFilter : public vtkImageAlgorithm 00032 { 00033 public: 00034 vtkTypeMacro(vtkPResampleFilter,vtkImageAlgorithm); 00035 void PrintSelf(ostream& os, vtkIndent indent); 00036 00037 static vtkPResampleFilter *New(); 00038 00040 00041 virtual void SetController(vtkMultiProcessController*); 00042 vtkGetObjectMacro(Controller, vtkMultiProcessController); 00044 00046 00048 vtkSetMacro(UseInputBounds, int); 00049 vtkGetMacro(UseInputBounds, int); 00050 vtkBooleanMacro(UseInputBounds, int); 00052 00054 00056 vtkSetVector6Macro(CustomSamplingBounds, double); 00057 vtkGetVector6Macro(CustomSamplingBounds, double); 00059 00061 00063 vtkSetVector3Macro(SamplingDimension, int); 00064 vtkGetVector3Macro(SamplingDimension, int); 00066 00067 //BTX 00068 protected: 00069 vtkPResampleFilter(); 00070 ~vtkPResampleFilter(); 00071 00072 // Usual data generation method 00073 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00074 virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00075 virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00076 virtual int FillInputPortInformation(int port, vtkInformation *info); 00077 00078 double* CalculateBounds(vtkDataSet* input); 00079 00080 vtkMultiProcessController* Controller; 00081 int UseInputBounds; 00082 double CustomSamplingBounds[6]; 00083 int SamplingDimension[3]; 00084 double Bounds[6]; 00085 00086 private: 00087 vtkPResampleFilter(const vtkPResampleFilter&); // Not implemented. 00088 void operator=(const vtkPResampleFilter&); // Not implemented. 00089 //ETX 00090 }; 00091 00092 #endif