dox/Parallel/vtkImageBlockReader.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00029 #ifndef __vtkImageBlockReader_h
00030 #define __vtkImageBlockReader_h
00031
00032 #include "vtkImageSource.h"
00033
00034
00035 class VTK_PARALLEL_EXPORT vtkImageBlockReader : public vtkImageSource
00036 {
00037 public:
00038 static vtkImageBlockReader *New();
00039 vtkTypeRevisionMacro(vtkImageBlockReader,vtkImageSource);
00040 void PrintSelf(ostream& os, vtkIndent indent);
00041
00043
00045 vtkSetVector3Macro(Divisions, int);
00046 vtkGetVector3Macro(Divisions, int);
00048
00050
00052 vtkSetMacro(Overlap, int);
00053 vtkGetMacro(Overlap, int);
00055
00057
00059 vtkSetVector6Macro(WholeExtent, int);
00060 vtkGetVector6Macro(WholeExtent, int);
00062
00064
00066 vtkSetMacro(NumberOfScalarComponents, int);
00067 vtkGetMacro(NumberOfScalarComponents, int);
00069
00071
00073 vtkSetMacro(ScalarType, int);
00074 vtkGetMacro(ScalarType, int);
00076
00078
00079 vtkSetStringMacro(FilePattern);
00080 vtkGetStringMacro(FilePattern);
00082
00083
00084
00085 protected:
00086 vtkImageBlockReader();
00087 ~vtkImageBlockReader();
00088
00089 char *FilePattern;
00090
00091 int WholeExtent[6];
00092 int NumberOfScalarComponents;
00093 int ScalarType;
00094 int Divisions[3];
00095 int Overlap;
00096
00097
00099
00100 void Execute(vtkImageData *data);
00101 void ExecuteInformation();
00103
00104
00105 void ComputeBlockExtents();
00106 void DeleteBlockExtents();
00107
00108
00109 void Read(vtkImageData *data, int *ext);
00110 void ReadRemainder(vtkImageData *data, int *ext, int *doneExt);
00111 void ReadBlock(int xIdx, int yIdx, int zIdx,
00112 vtkImageData *data, int *ext);
00113
00116 void ModifyOutputUpdateExtent();
00117
00118
00119 int *XExtents;
00120 int *YExtents;
00121 int *ZExtents;
00122 private:
00123 vtkImageBlockReader(const vtkImageBlockReader&);
00124 void operator=(const vtkImageBlockReader&);
00125 };
00126
00127
00128 #endif
00129
00130