/usr/include/paraview/vtkPEnSightGoldBinaryReader.h is in paraview-dev 5.0.1+dfsg1-4.
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 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkPEnSightGoldBinaryReader.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 vtkPEnSightGoldBinaryReader
// .SECTION Description
// Parallel vtkEnSightGoldBinaryReader.
// .SECTION Thanks
// <verbatim>
//
// This file has been developed as part of the CARRIOCAS (Distributed
// computation over ultra high optical internet network ) project (
// http://www.carriocas.org/index.php?lng=ang ) of the SYSTEM@TIC French ICT
// Cluster (http://www.systematic-paris-region.org/en/index.html) under the
// supervision of CEA (http://www.cea.fr) and EDF (http://www.edf.fr) by
// Oxalya (http://www.oxalya.com)
//
// Copyright (c) CEA
//
// </verbatim>
#ifndef vtkPEnSightGoldBinaryReader_h
#define vtkPEnSightGoldBinaryReader_h
#include "vtkPVVTKExtensionsDefaultModule.h" //needed for exports
#include "vtkPEnSightReader.h"
class vtkMultiBlockDataSet;
class vtkUnstructuredGrid;
class vtkPoints;
class VTKPVVTKEXTENSIONSDEFAULT_EXPORT vtkPEnSightGoldBinaryReader : public vtkPEnSightReader
{
public:
static vtkPEnSightGoldBinaryReader *New();
vtkTypeMacro(vtkPEnSightGoldBinaryReader, vtkPEnSightReader);
virtual void PrintSelf(ostream& os, vtkIndent indent);
protected:
vtkPEnSightGoldBinaryReader();
~vtkPEnSightGoldBinaryReader();
// Returns 1 if successful. Sets file size as a side action.
int OpenFile(const char* filename);
// Returns 1 if successful. Handles constructing the filename, opening the file and checking
// if it's binary
int InitializeFile(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 data array, it is assumed that 0 is the first component added.
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 componenet in the
// data array, it is assumed that 0 is the first component added.
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. Return -1 if
// an error occurred.
virtual int CreateUnstructuredGridOutput(int partId,
char line[80],
const char* name,
vtkMultiBlockDataSet *output);
// Description:
// Read a structured part from the geometry file and create a
// vtkStructuredGrid output. Return 0 if EOF reached.
virtual int CreateStructuredGridOutput(int partId,
char line[256],
const char* name,
vtkMultiBlockDataSet *output);
// Description:
// Read a structured part from the geometry file and create a
// vtkRectilinearGrid output. Return 0 if EOF reached.
int CreateRectilinearGridOutput(int partId, char line[256], const char* name,
vtkMultiBlockDataSet *output);
// Description:
// Read a structured part from the geometry file and create a
// vtkImageData output. Return 0 if EOF reached.
int CreateImageDataOutput(int partId, char line[80], 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.
// Returns zero if there was an error.
int ReadInt(int *result);
int ReadPartId(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 Coordinates, or just skip the part in the file.
int ReadOrSkipCoordinates(vtkPoints* points, long offset, int partId, bool skip);
// Description:
// Internal method to inject Coordinates and Global Ids at the end
// of a part read for Unstructured data.
int InjectCoordinatesAtEnd(vtkUnstructuredGrid* output, long coordinatesOffset, int partId );
// Description:
// Counts the number of timesteps in the geometry file
// This function assumes the file is already open and returns the
// number of timesteps remaining in the file
// The file will be closed after calling this method
int CountTimeSteps();
// Description:
// Read to the next time step in the geometry file.
int SkipTimeStep();
int SkipStructuredGrid(char line[256]);
int SkipUnstructuredGrid(char line[256]);
int SkipRectilinearGrid(char line[256]);
int SkipImageData(char line[256]);
int NodeIdsListed;
int ElementIdsListed;
int Fortran;
ifstream *IFile;
// The size of the file could be used to choose byte order.
long FileSize;
// Float Vector Buffer utils
void GetVectorFromFloatBuffer(int i, float *vector);
void UpdateFloatBuffer();
// The buffer
float **FloatBuffer;
// The buffer size. Default is 1000
int FloatBufferSize;
// The FloatBuffer store the vectors
// from FloatBufferIndexBegin to FloatBufferIndexBegin + FloatBufferSize
int FloatBufferIndexBegin;
// X variable positions of vector number 0 in file
long FloatBufferFilePosition;
// Total number of vectors;
int FloatBufferNumberOfVectors;
private:
vtkPEnSightGoldBinaryReader(const vtkPEnSightGoldBinaryReader&); // Not implemented.
void operator=(const vtkPEnSightGoldBinaryReader&); // Not implemented.
};
#endif
|