00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00030 #ifndef __vtkImageClip_h
00031 #define __vtkImageClip_h
00032
00033
00034
00035
00036 #include "vtkImageAlgorithm.h"
00037
00038 class VTK_IMAGING_EXPORT vtkImageClip : public vtkImageAlgorithm
00039 {
00040 public:
00041 static vtkImageClip *New();
00042 vtkTypeRevisionMacro(vtkImageClip,vtkImageAlgorithm);
00043 void PrintSelf(ostream& os, vtkIndent indent);
00044
00046
00047 void SetOutputWholeExtent(int extent[6], vtkInformation *outInfo=0);
00048 void SetOutputWholeExtent(int minX, int maxX, int minY, int maxY,
00049 int minZ, int maxZ);
00050 void GetOutputWholeExtent(int extent[6]);
00051 int *GetOutputWholeExtent() {return this->OutputWholeExtent;}
00053
00054 void ResetOutputWholeExtent();
00055
00057
00060 vtkSetMacro(ClipData, int);
00061 vtkGetMacro(ClipData, int);
00062 vtkBooleanMacro(ClipData, int);
00064
00066 void SetOutputWholeExtent(int piece, int numPieces);
00067
00068 protected:
00069 vtkImageClip();
00070 ~vtkImageClip() {};
00071
00072
00073 vtkTimeStamp CTime;
00074 int Initialized;
00075 int OutputWholeExtent[6];
00076
00077 int ClipData;
00078
00079 virtual int RequestInformation (vtkInformation *,
00080 vtkInformationVector **,
00081 vtkInformationVector *);
00082
00083 void CopyData(vtkImageData *inData, vtkImageData *outData, int *ext);
00084
00085 virtual int RequestData(vtkInformation *,
00086 vtkInformationVector **,
00087 vtkInformationVector *);
00088
00089 private:
00090 vtkImageClip(const vtkImageClip&);
00091 void operator=(const vtkImageClip&);
00092 };
00093
00094
00095
00096 #endif
00097
00098
00099