dox/Parallel/vtkPDataSetReader.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 __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