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