Parallel/vtkPDataSetReader.h
Go to the documentation of this file.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