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 =========================================================================*/
37 #ifndef vtkEnSight6BinaryReader_h
38 #define vtkEnSight6BinaryReader_h
39 
40 #include "vtkIOEnSightModule.h" // For export macro
41 #include "vtkEnSightReader.h"
42 
44 class vtkIdTypeArray;
45 class vtkPoints;
46 
48 {
49 public:
50  static vtkEnSight6BinaryReader *New();
52  virtual void PrintSelf(ostream& os, vtkIndent indent);
53 
54 protected:
57 
58  // Returns 1 if successful. Sets file size as a side action.
59  int OpenFile(const char* filename);
60 
62 
64  virtual int ReadGeometryFile(const char* fileName, int timeStep,
65  vtkMultiBlockDataSet *output);
67 
69 
71  virtual int ReadMeasuredGeometryFile(const char* fileName, int timeStep,
72  vtkMultiBlockDataSet *output);
74 
76 
80  virtual int ReadScalarsPerNode(const char* fileName, const char* description,
81  int timeStep, vtkMultiBlockDataSet *output,
82  int measured = 0, int numberOfComponents = 1,
83  int component = 0);
85 
87 
89  virtual int ReadVectorsPerNode(const char* fileName, const char* description,
90  int timeStep, vtkMultiBlockDataSet *output,
91  int measured = 0);
93 
95 
97  virtual int ReadTensorsPerNode(const char* fileName, const char* description,
98  int timeStep, vtkMultiBlockDataSet *output);
100 
102 
106  virtual int ReadScalarsPerElement(const char* fileName,
107  const char* description, int timeStep,
108  vtkMultiBlockDataSet *output,
109  int numberOfComponents = 1,
110  int component = 0);
112 
114 
116  virtual int ReadVectorsPerElement(const char* fileName, const char* description,
117  int timeStep, vtkMultiBlockDataSet *output);
119 
121 
123  virtual int ReadTensorsPerElement(const char* fileName, const char* description,
124  int timeStep, vtkMultiBlockDataSet *output);
126 
128 
130  virtual int CreateUnstructuredGridOutput(int partId,
131  char line[256],
132  const char* name,
133  vtkMultiBlockDataSet *output);
135 
137 
139  virtual int CreateStructuredGridOutput(int partId,
140  char line[256],
141  const char* name,
142  vtkMultiBlockDataSet *output);
144 
147  int ReadLine(char result[80]);
148 
151  int ReadIntNumber(int *result);
152 
155  int ReadIntArray(int *result, int numInts);
156 
159  int ReadFloatArray(float *result, int numFloats);
160 
162 
163  int SkipTimeStep();
164  int SkipStructuredGrid(char line[256]);
165  int SkipUnstructuredGrid(char line[256]);
167 
168  // global list of points for the unstructured parts of the model
171  vtkIdTypeArray* UnstructuredNodeIds; // matching of node ids to point ids
172 
174 
175  // The size of the file is used to choose byte order.
176  int FileSize;
177 
178  ifstream *IFile;
179 private:
180  vtkEnSight6BinaryReader(const vtkEnSight6BinaryReader&); // Not implemented.
181  void operator=(const vtkEnSight6BinaryReader&); // Not implemented.
182 };
183 
184 #endif
185 
virtual int CreateStructuredGridOutput(int partId, char line[80], const char *name, vtkMultiBlockDataSet *output)=0
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
dynamic, self-adjusting array of vtkIdType
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
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)
class to read binary EnSight6 files
superclass for EnSight file readers
static vtkGenericEnSightReader * New()
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])
represent and manipulate 3D points
Definition: vtkPoints.h:38
virtual int ReadVectorsPerElement(const char *fileName, const char *description, int timeStep, vtkMultiBlockDataSet *output)=0