Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Parallel/vtkPDataSetReader.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkPDataSetReader.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
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 //BTX
00092   ifstream *OpenFile(const char *);
00093 //ETX
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&); // Not implemented
00107   void operator=(const vtkPDataSetReader&); // Not implemented
00108 };
00109 
00110 #endif