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