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