00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00026 #ifndef __vtkPVExtractVOI_h
00027 #define __vtkPVExtractVOI_h
00028
00029 #include "vtkDataSetAlgorithm.h"
00030
00031 class vtkDataObject;
00032 class vtkDataSet;
00033 class vtkExtractGrid;
00034 class vtkExtractRectilinearGrid;
00035 class vtkExtractVOI;
00036
00037 class VTK_EXPORT vtkPVExtractVOI : public vtkDataSetAlgorithm
00038 {
00039
00040 public:
00041 static vtkPVExtractVOI *New();
00042 vtkTypeRevisionMacro(vtkPVExtractVOI,vtkDataSetAlgorithm);
00043 void PrintSelf(ostream& os, vtkIndent indent);
00044
00046
00049 vtkSetVector6Macro(VOI,int);
00050 vtkGetVectorMacro(VOI,int,6);
00052
00054
00058 vtkSetVector3Macro(SampleRate, int);
00059 vtkGetVectorMacro(SampleRate, int, 3);
00061
00063
00064 void SetSampleRateI(int ratei);
00065 void SetSampleRateJ(int ratej);
00066 void SetSampleRateK(int ratek);
00067 int GetSampleRateI() { return this->SampleRate[0]; }
00068 int GetSampleRateJ() { return this->SampleRate[1]; }
00069 int GetSampleRateK() { return this->SampleRate[2]; }
00071
00073
00079 vtkSetMacro(IncludeBoundary,int);
00080 vtkGetMacro(IncludeBoundary,int);
00081 vtkBooleanMacro(IncludeBoundary,int);
00083
00084 protected:
00085 vtkPVExtractVOI();
00086 ~vtkPVExtractVOI();
00087
00088 virtual int RequestData(
00089 vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00090 virtual int RequestInformation(
00091 vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00092 virtual int RequestUpdateExtent(
00093 vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00094
00095 int VOI[6];
00096 int SampleRate[3];
00097 int IncludeBoundary;
00098
00099 vtkExtractVOI* ExtractVOI;
00100 vtkExtractGrid* ExtractGrid;
00101 vtkExtractRectilinearGrid* ExtractRG;
00102
00103 virtual void ReportReferences(vtkGarbageCollector*);
00104 private:
00105 vtkPVExtractVOI(const vtkPVExtractVOI&);
00106 void operator=(const vtkPVExtractVOI&);
00107 };
00108
00109 #endif
00110
00111
00112