/usr/include/vtk-5.10/vtkEnSight6BinaryReader.h is in libvtk5-dev 5.10.1+dfsg-2.1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkEnSight6BinaryReader.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkEnSight6BinaryReader - class to read binary EnSight6 files
// .SECTION Description
// vtkEnSight6BinaryReader is a class to read binary EnSight6 files into vtk.
// Because the different parts of the EnSight data can be of various data
// types, this reader produces multiple outputs, one per part in the input
// file.
// All variable information is being stored in field data. The descriptions
// listed in the case file are used as the array names in the field data.
// For complex vector variables, the description is appended with _r (for the
// array of real values) and _i (for the array if imaginary values). Complex
// scalar variables are stored as a single array with 2 components, real and
// imaginary, listed in that order.
// .SECTION Caveats
// You must manually call Update on this reader and then connect the rest
// of the pipeline because (due to the nature of the file format) it is
// not possible to know ahead of time how many outputs you will have or
// what types they will be.
// This reader can only handle static EnSight datasets (both static geometry
// and variables).
#ifndef __vtkEnSight6BinaryReader_h
#define __vtkEnSight6BinaryReader_h
#include "vtkEnSightReader.h"
class vtkMultiBlockDataSet;
class vtkIdTypeArray;
class vtkPoints;
class VTK_IO_EXPORT vtkEnSight6BinaryReader : public vtkEnSightReader
{
public:
static vtkEnSight6BinaryReader *New();
vtkTypeMacro(vtkEnSight6BinaryReader, vtkEnSightReader);
virtual void PrintSelf(ostream& os, vtkIndent indent);
protected:
vtkEnSight6BinaryReader();
~vtkEnSight6BinaryReader();
// Returns 1 if successful. Sets file size as a side action.
int OpenFile(const char* filename);
// Description:
// Read the geometry file. If an error occurred, 0 is returned; otherwise 1.
virtual int ReadGeometryFile(const char* fileName, int timeStep,
vtkMultiBlockDataSet *output);
// Description:
// Read the measured geometry file. If an error occurred, 0 is returned;
// otherwise 1.
virtual int ReadMeasuredGeometryFile(const char* fileName, int timeStep,
vtkMultiBlockDataSet *output);
// Description:
// Read scalars per node for this dataset. If an error occurred, 0 is
// returned; otherwise 1. If there will be more than one component in
// the scalars array, we assume that 0 is the first component added to the array.
virtual int ReadScalarsPerNode(const char* fileName, const char* description,
int timeStep, vtkMultiBlockDataSet *output,
int measured = 0, int numberOfComponents = 1,
int component = 0);
// Description:
// Read vectors per node for this dataset. If an error occurred, 0 is
// returned; otherwise 1.
virtual int ReadVectorsPerNode(const char* fileName, const char* description,
int timeStep, vtkMultiBlockDataSet *output,
int measured = 0);
// Description:
// Read tensors per node for this dataset. If an error occurred, 0 is
// returned; otherwise 1.
virtual int ReadTensorsPerNode(const char* fileName, const char* description,
int timeStep, vtkMultiBlockDataSet *output);
// Description:
// Read scalars per element for this dataset. If an error occurred, 0 is
// returned; otherwise 1. If there will be more than one component in the
// scalars array, we assume that 0 is the first component added to the array.
virtual int ReadScalarsPerElement(const char* fileName,
const char* description, int timeStep,
vtkMultiBlockDataSet *output,
int numberOfComponents = 1,
int component = 0);
// Description:
// Read vectors per element for this dataset. If an error occurred, 0 is
// returned; otherwise 1.
virtual int ReadVectorsPerElement(const char* fileName, const char* description,
int timeStep, vtkMultiBlockDataSet *output);
// Description:
// Read tensors per element for this dataset. If an error occurred, 0 is
// returned; otherwise 1.
virtual int ReadTensorsPerElement(const char* fileName, const char* description,
int timeStep, vtkMultiBlockDataSet *output);
// Description:
// Read an unstructured part (partId) from the geometry file and create a
// vtkUnstructuredGrid output. Return 0 if EOF reached.
virtual int CreateUnstructuredGridOutput(int partId,
char line[256],
const char* name,
vtkMultiBlockDataSet *output);
// Description:
// Read a structured part from the geometry file and create a
// vtkStructuredGridOutput. Return 0 if EOF reached.
virtual int CreateStructuredGridOutput(int partId,
char line[256],
const char* name,
vtkMultiBlockDataSet *output);
// Description:
// Internal function to read in a line up to 80 characters.
// Returns zero if there was an error.
int ReadLine(char result[80]);
// Description:
// Internal function to read in a single integer.
// Tries to determine the byte order of this file.
// Returns zero if there was an error.
int ReadIntNumber(int *result);
// Description:
// Internal function to read in an integer array.
// Returns zero if there was an error.
int ReadIntArray(int *result, int numInts);
// Description:
// Internal function to read in a float array.
// Returns zero if there was an error.
int ReadFloatArray(float *result, int numFloats);
// Description:
// Read to the next time step in the geometry file.
int SkipTimeStep();
int SkipStructuredGrid(char line[256]);
int SkipUnstructuredGrid(char line[256]);
// global list of points for the unstructured parts of the model
int NumberOfUnstructuredPoints;
vtkPoints* UnstructuredPoints;
vtkIdTypeArray* UnstructuredNodeIds; // matching of node ids to point ids
int ElementIdsListed;
// The size of the file is used to choose byte order.
int FileSize;
ifstream *IFile;
private:
vtkEnSight6BinaryReader(const vtkEnSight6BinaryReader&); // Not implemented.
void operator=(const vtkEnSight6BinaryReader&); // Not implemented.
};
#endif
|