00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00025
#ifndef __vtkPDataSetReader_h
00026
#define __vtkPDataSetReader_h
00027
00028
#include "vtkSource.h"
00029
00030
class vtkDataSet;
00031
00032 class VTK_PARALLEL_EXPORT vtkPDataSetReader :
public vtkSource
00033 {
00034
public:
00035
void PrintSelf(ostream& os,
vtkIndent indent);
00036 vtkTypeRevisionMacro(vtkPDataSetReader,
vtkSource);
00037
static vtkPDataSetReader *
New();
00038
00040 virtual int GetNumberOfOutputs() {
return 1;}
00041
00043
00044 vtkSetStringMacro(FileName);
00045 vtkGetStringMacro(FileName);
00047
00049
00051
void SetOutput(
vtkDataSet *output);
00052
virtual vtkDataSet*
GetOutput();
00053
virtual vtkDataSet*
GetOutput(
int idx);
00055
00057
virtual void Update();
00058
00060
00062 vtkGetMacro(DataType,
int);
00064
00067
virtual int ReadOutputType();
00068
00070
int CanReadFile(
const char* filename);
00071
00072
protected:
00073 vtkPDataSetReader();
00074 ~vtkPDataSetReader();
00075
00076
virtual void ExecuteInformation();
00077
void ReadPVTKFileInformation(ifstream *fp);
00078
void ReadVTKFileInformation(ifstream *fp);
00079
00080
virtual void Execute();
00081
void PolyDataExecute();
00082
void UnstructuredGridExecute();
00083
void ImageDataExecute();
00084
void StructuredGridExecute();
00085
00086
void CoverExtent(
int ext[6],
int *pieceMask);
00087
00088
vtkDataSet *CheckOutput();
00089
void SetNumberOfPieces(
int num);
00090
00091
00092 ifstream *OpenFile(
const char *);
00093
00094
int ReadXML(ifstream *file,
char **block,
char **param,
char **value);
00095
void SkipFieldData(ifstream *file);
00096
00097 int VTKFileFlag;
00098 int StructuredFlag;
00099 char *FileName;
00100 int DataType;
00101 int NumberOfPieces;
00102 char **PieceFileNames;
00103 int **PieceExtents;
00104
00105
private:
00106 vtkPDataSetReader(
const vtkPDataSetReader&);
00107
void operator=(
const vtkPDataSetReader&);
00108 };
00109
00110
#endif