VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vtkEnSightGoldBinaryReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkEnSightGoldBinaryReader.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
42 #ifndef __vtkEnSightGoldBinaryReader_h
43 #define __vtkEnSightGoldBinaryReader_h
44 
45 #include "vtkIOEnSightModule.h" // For export macro
46 #include "vtkEnSightReader.h"
47 
49 
51 {
52 public:
55  virtual void PrintSelf(ostream& os, vtkIndent indent);
56 
57 protected:
60 
61  // Returns 1 if successful. Sets file size as a side action.
62  int OpenFile(const char* filename);
63 
64 
65  // Returns 1 if successful. Handles constructing the filename, opening the file and checking
66  // if it's binary
67  int InitializeFile(const char* filename);
68 
70 
72  virtual int ReadGeometryFile(const char* fileName, int timeStep,
73  vtkMultiBlockDataSet *output);
75 
77 
79  virtual int ReadMeasuredGeometryFile(const char* fileName, int timeStep,
80  vtkMultiBlockDataSet *output);
82 
84 
87  virtual int ReadScalarsPerNode(const char* fileName, const char* description,
88  int timeStep, vtkMultiBlockDataSet *output,
89  int measured = 0, int numberOfComponents = 1,
90  int component = 0);
92 
94 
96  virtual int ReadVectorsPerNode(const char* fileName, const char* description,
97  int timeStep, vtkMultiBlockDataSet *output,
98  int measured = 0);
100 
102 
104  virtual int ReadTensorsPerNode(const char* fileName, const char* description,
105  int timeStep, vtkMultiBlockDataSet *output);
107 
109 
112  virtual int ReadScalarsPerElement(const char* fileName, const char* description,
113  int timeStep, vtkMultiBlockDataSet *output,
114  int numberOfComponents = 1,
115  int component = 0);
117 
119 
121  virtual int ReadVectorsPerElement(const char* fileName, const char* description,
122  int timeStep, vtkMultiBlockDataSet *output);
124 
126 
128  virtual int ReadTensorsPerElement(const char* fileName, const char* description,
129  int timeStep, vtkMultiBlockDataSet *output);
131 
133 
136  virtual int CreateUnstructuredGridOutput(int partId,
137  char line[80],
138  const char* name,
139  vtkMultiBlockDataSet *output);
141 
143 
145  virtual int CreateStructuredGridOutput(int partId,
146  char line[256],
147  const char* name,
148  vtkMultiBlockDataSet *output);
150 
152 
154  int CreateRectilinearGridOutput(int partId, char line[256], const char* name,
155  vtkMultiBlockDataSet *output);
157 
159 
161  int CreateImageDataOutput(int partId, char line[80], const char* name,
162  vtkMultiBlockDataSet *output);
164 
167  int ReadLine(char result[80]);
168 
170 
172  int ReadInt(int *result);
173  int ReadPartId(int *result);
175 
178  int ReadIntArray(int *result, int numInts);
179 
182  int ReadFloatArray(float *result, int numFloats);
183 
188  int CountTimeSteps();
189 
191 
192  int SkipTimeStep();
193  int SkipStructuredGrid(char line[256]);
194  int SkipUnstructuredGrid(char line[256]);
195  int SkipRectilinearGrid(char line[256]);
196  int SkipImageData(char line[256]);
198 
201  int Fortran;
202 
203  ifstream *IFile;
204  // The size of the file could be used to choose byte order.
206 
207 private:
208  int SizeOfInt;
209  vtkEnSightGoldBinaryReader(const vtkEnSightGoldBinaryReader&); // Not implemented.
210  void operator=(const vtkEnSightGoldBinaryReader&); // Not implemented.
211 };
212 
213 #endif
virtual int CreateStructuredGridOutput(int partId, char line[80], const char *name, vtkMultiBlockDataSet *output)=0
class to read binary EnSight Gold files
virtual int ReadVectorsPerNode(const char *fileName, const char *description, int timeStep, vtkMultiBlockDataSet *output, int measured=0)=0
virtual int ReadMeasuredGeometryFile(const char *fileName, int timeStep, vtkMultiBlockDataSet *output)=0
virtual int ReadTensorsPerElement(const char *fileName, const char *description, int timeStep, vtkMultiBlockDataSet *output)=0
int vtkIdType
Definition: vtkType.h:268
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:619
virtual int ReadGeometryFile(const char *fileName, int timeStep, vtkMultiBlockDataSet *output)=0
virtual int ReadTensorsPerNode(const char *fileName, const char *description, int timeStep, vtkMultiBlockDataSet *output)=0
GLuint const GLchar * name
Definition: vtkgl.h:11983
a simple class to control print indentation
Definition: vtkIndent.h:38
virtual int ReadScalarsPerElement(const char *fileName, const char *description, int timeStep, vtkMultiBlockDataSet *output, int numberOfComponents=1, int component=0)=0
void PrintSelf(ostream &os, vtkIndent indent)
superclass for EnSight file readers
static vtkGenericEnSightReader * New()
GLuint64EXT * result
Definition: vtkgl.h:18868
Composite dataset that organizes datasets into blocks.
virtual int CreateUnstructuredGridOutput(int partId, char line[80], const char *name, vtkMultiBlockDataSet *output)=0
virtual int ReadScalarsPerNode(const char *fileName, const char *description, int timeStep, vtkMultiBlockDataSet *output, int measured=0, int numberOfComponents=1, int component=0)=0
#define VTKIOENSIGHT_EXPORT
int ReadLine(char result[256])
virtual int ReadVectorsPerElement(const char *fileName, const char *description, int timeStep, vtkMultiBlockDataSet *output)=0