00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00027 #ifndef __vtkStructuredGridClip_h
00028 #define __vtkStructuredGridClip_h
00029
00030
00031
00032
00033 #include "vtkStructuredGridAlgorithm.h"
00034
00035 class VTK_GRAPHICS_EXPORT vtkStructuredGridClip : public vtkStructuredGridAlgorithm
00036 {
00037 public:
00038 static vtkStructuredGridClip *New();
00039 vtkTypeRevisionMacro(vtkStructuredGridClip,vtkStructuredGridAlgorithm);
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 vtkStructuredGridClip();
00067 ~vtkStructuredGridClip() {};
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(vtkStructuredGrid *inData, vtkStructuredGrid *outData, int *ext);
00081
00082 int SplitExtentTmp(int piece, int numPieces, int *ext);
00083
00084 virtual int RequestData(vtkInformation *,
00085 vtkInformationVector **,
00086 vtkInformationVector *);
00087
00088 private:
00089 vtkStructuredGridClip(const vtkStructuredGridClip&);
00090 void operator=(const vtkStructuredGridClip&);
00091 };
00092
00093
00094
00095 #endif
00096
00097
00098