VTK
vtkEnSight6BinaryReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkEnSight6BinaryReader.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 =========================================================================*/
38 #ifndef vtkEnSight6BinaryReader_h
39 #define vtkEnSight6BinaryReader_h
40 
41 #include "vtkIOEnSightModule.h" // For export macro
42 #include "vtkEnSightReader.h"
43 
45 class vtkIdTypeArray;
46 class vtkPoints;
47 
48 class VTKIOENSIGHT_EXPORT vtkEnSight6BinaryReader : public vtkEnSightReader
49 {
50 public:
51  static vtkEnSight6BinaryReader *New();
53  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
54 
55 protected:
57  ~vtkEnSight6BinaryReader() VTK_OVERRIDE;
58 
59  // Returns 1 if successful. Sets file size as a side action.
60  int OpenFile(const char* filename);
61 
65  int ReadGeometryFile(const char* fileName, int timeStep,
66  vtkMultiBlockDataSet *output) VTK_OVERRIDE;
67 
72  int ReadMeasuredGeometryFile(const char* fileName, int timeStep,
73  vtkMultiBlockDataSet *output) VTK_OVERRIDE;
74 
80  int ReadScalarsPerNode(const char* fileName, const char* description,
81  int timeStep, vtkMultiBlockDataSet *output,
82  int measured = 0, int numberOfComponents = 1,
83  int component = 0) VTK_OVERRIDE;
84 
89  int ReadVectorsPerNode(const char* fileName, const char* description,
90  int timeStep, vtkMultiBlockDataSet *output,
91  int measured = 0) VTK_OVERRIDE;
92 
97  int ReadTensorsPerNode(const char* fileName, const char* description,
98  int timeStep, vtkMultiBlockDataSet *output) VTK_OVERRIDE;
99 
105  int ReadScalarsPerElement(const char* fileName,
106  const char* description, int timeStep,
107  vtkMultiBlockDataSet *output,
108  int numberOfComponents = 1,
109  int component = 0) VTK_OVERRIDE;
110 
115  int ReadVectorsPerElement(const char* fileName, const char* description,
116  int timeStep, vtkMultiBlockDataSet *output) VTK_OVERRIDE;
117 
122  int ReadTensorsPerElement(const char* fileName, const char* description,
123  int timeStep, vtkMultiBlockDataSet *output) VTK_OVERRIDE;
124 
129  int CreateUnstructuredGridOutput(int partId,
130  char line[256],
131  const char* name,
132  vtkMultiBlockDataSet *output) VTK_OVERRIDE;
133 
138  int CreateStructuredGridOutput(int partId,
139  char line[256],
140  const char* name,
141  vtkMultiBlockDataSet *output) VTK_OVERRIDE;
142 
147  int ReadLine(char result[80]);
148 
154  int ReadIntNumber(int *result);
155 
160  int ReadIntArray(int *result, int numInts);
161 
166  int ReadFloatArray(float *result, int numFloats);
167 
169 
172  int SkipTimeStep();
173  int SkipStructuredGrid(char line[256]);
174  int SkipUnstructuredGrid(char line[256]);
176 
177  // global list of points for the unstructured parts of the model
178  int NumberOfUnstructuredPoints;
179  vtkPoints* UnstructuredPoints;
180  vtkIdTypeArray* UnstructuredNodeIds; // matching of node ids to point ids
181 
182  int ElementIdsListed;
183 
184  // The size of the file is used to choose byte order.
185  vtkTypeUInt64 FileSize;
186 
187  ifstream *IFile;
188 private:
189  vtkEnSight6BinaryReader(const vtkEnSight6BinaryReader&) VTK_DELETE_FUNCTION;
190  void operator=(const vtkEnSight6BinaryReader&) VTK_DELETE_FUNCTION;
191 };
192 
193 #endif
194 
dynamic, self-adjusting array of vtkIdType
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:33
class to read binary EnSight6 files
superclass for EnSight file readers
static vtkGenericEnSightReader * New()
Composite dataset that organizes datasets into blocks.
represent and manipulate 3D points
Definition: vtkPoints.h:33