• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

dox/IO/vtkEnSightGoldBinaryReader.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkEnSightGoldBinaryReader.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 =========================================================================*/
00042 #ifndef __vtkEnSightGoldBinaryReader_h
00043 #define __vtkEnSightGoldBinaryReader_h
00044 
00045 #include "vtkEnSightReader.h"
00046 
00047 class vtkMultiBlockDataSet;
00048 
00049 class VTK_IO_EXPORT vtkEnSightGoldBinaryReader : public vtkEnSightReader
00050 {
00051 public:
00052   static vtkEnSightGoldBinaryReader *New();
00053   vtkTypeRevisionMacro(vtkEnSightGoldBinaryReader, vtkEnSightReader);
00054   virtual void PrintSelf(ostream& os, vtkIndent indent);
00055  
00056 protected:
00057   vtkEnSightGoldBinaryReader();
00058   ~vtkEnSightGoldBinaryReader();
00059   
00060   // Returns 1 if successful.  Sets file size as a side action.
00061   int OpenFile(const char* filename);
00062 
00063 
00064   // Returns 1 if successful.  Handles constructing the filename, opening the file and checking
00065   // if it's binary
00066   int InitializeFile(const char* filename);
00067 
00069 
00071   virtual int ReadGeometryFile(const char* fileName, int timeStep,
00072                                vtkMultiBlockDataSet *output);
00074 
00076 
00078   virtual int ReadMeasuredGeometryFile(const char* fileName, int timeStep,
00079                                        vtkMultiBlockDataSet *output);
00081 
00083 
00086   virtual int ReadScalarsPerNode(const char* fileName, const char* description,
00087                                  int timeStep, vtkMultiBlockDataSet *output,
00088                                  int measured = 0, int numberOfComponents = 1,
00089                                  int component = 0);
00091   
00093 
00095   virtual int ReadVectorsPerNode(const char* fileName, const char* description,
00096                                  int timeStep, vtkMultiBlockDataSet *output,
00097                                  int measured = 0);
00099 
00101 
00103   virtual int ReadTensorsPerNode(const char* fileName, const char* description,
00104                                  int timeStep, vtkMultiBlockDataSet *output);
00106 
00108 
00111   virtual int ReadScalarsPerElement(const char* fileName, const char* description,
00112                                     int timeStep, vtkMultiBlockDataSet *output,
00113                                     int numberOfComponents = 1,
00114                                     int component = 0);
00116 
00118 
00120   virtual int ReadVectorsPerElement(const char* fileName, const char* description,
00121                                     int timeStep, vtkMultiBlockDataSet *output);
00123 
00125 
00127   virtual int ReadTensorsPerElement(const char* fileName, const char* description,
00128                                     int timeStep, vtkMultiBlockDataSet *output);
00130 
00132 
00135   virtual int CreateUnstructuredGridOutput(int partId, 
00136                                            char line[80],
00137                                            const char* name,
00138                                            vtkMultiBlockDataSet *output);
00140   
00142 
00144   virtual int CreateStructuredGridOutput(int partId, 
00145                                          char line[256],
00146                                          const char* name,
00147                                          vtkMultiBlockDataSet *output);
00149   
00151 
00153   int CreateRectilinearGridOutput(int partId, char line[256], const char* name,
00154                                   vtkMultiBlockDataSet *output);
00156   
00158 
00160   int CreateImageDataOutput(int partId, char line[80], const char* name,
00161                             vtkMultiBlockDataSet *output);
00163   
00166   int ReadLine(char result[80]);
00167 
00169 
00171   int ReadInt(int *result);
00172   int ReadPartId(int *result);
00174 
00177   int ReadIntArray(int *result, int numInts);
00178 
00181   int ReadFloatArray(float *result, int numFloats);
00182 
00187   int CountTimeSteps();
00188 
00190 
00191   int SkipTimeStep();
00192   int SkipStructuredGrid(char line[256]);
00193   int SkipUnstructuredGrid(char line[256]);
00194   int SkipRectilinearGrid(char line[256]);
00195   int SkipImageData(char line[256]);
00197   
00198   int NodeIdsListed;
00199   int ElementIdsListed;
00200   int Fortran;
00201   
00202   ifstream *IFile;
00203   // The size of the file could be used to choose byte order.
00204   int FileSize;
00205 
00206 private:
00207   vtkEnSightGoldBinaryReader(const vtkEnSightGoldBinaryReader&);  // Not implemented.
00208   void operator=(const vtkEnSightGoldBinaryReader&);  // Not implemented.
00209 };
00210 
00211 #endif

Generated by  doxygen 1.7.1