87 #ifndef vtkMultiBlockPLOT3DReader_h
88 #define vtkMultiBlockPLOT3DReader_h
90 #include "vtkIOParallelModule.h"
106 class ComputeFunctor;
107 class ComputeTemperatureFunctor;
108 class ComputePressureFunctor;
109 class ComputePressureCoefficientFunctor;
110 class ComputeMachNumberFunctor;
111 class ComputeSoundSpeedFunctor;
112 class ComputeEnthalpyFunctor;
113 class ComputeKinecticEnergyFunctor;
114 class ComputeVelocityMagnitudeFunctor;
115 class ComputeEntropyFunctor;
116 class ComputeSwirlFunctor;
117 class ComputeVelocityFunctor;
118 class ComputeVorticityMagnitudeFunctor;
119 class ComputePressureGradientFunctor;
120 class ComputeVorticityFunctor;
121 class ComputeStrainRateFunctor;
126 friend class Functors::ComputeFunctor;
127 friend class Functors::ComputeTemperatureFunctor;
128 friend class Functors::ComputePressureFunctor;
129 friend class Functors::ComputePressureCoefficientFunctor;
130 friend class Functors::ComputeMachNumberFunctor;
131 friend class Functors::ComputeSoundSpeedFunctor;
132 friend class Functors::ComputeEnthalpyFunctor;
133 friend class Functors::ComputeKinecticEnergyFunctor;
134 friend class Functors::ComputeVelocityMagnitudeFunctor;
135 friend class Functors::ComputeEntropyFunctor;
136 friend class Functors::ComputeSwirlFunctor;
137 friend class Functors::ComputeVelocityFunctor;
138 friend class Functors::ComputeVorticityMagnitudeFunctor;
139 friend class Functors::ComputePressureGradientFunctor;
140 friend class Functors::ComputeVorticityFunctor;
141 friend class Functors::ComputeStrainRateFunctor;
163 virtual void SetXYZFileName(
const char*);
164 vtkGetStringMacro(XYZFileName);
178 void SetQFileName(
const char*
name);
179 const char* GetQFileName();
186 vtkSetStringMacro(FunctionFileName);
187 vtkGetStringMacro(FunctionFileName);
257 vtkBooleanMacro(TwoDimensionalGeometry,
vtkTypeBool);
290 void SetByteOrderToBigEndian();
291 void SetByteOrderToLittleEndian();
292 vtkSetMacro(ByteOrder,
int);
293 vtkGetMacro(ByteOrder,
int);
294 const char* GetByteOrderAsString();
301 vtkSetMacro(R,
double);
302 vtkGetMacro(R,
double);
309 vtkSetMacro(Gamma,
double);
310 vtkGetMacro(Gamma,
double);
322 vtkSetMacro(PreserveIntermediateFunctions,
bool);
323 vtkGetMacro(PreserveIntermediateFunctions,
bool);
324 vtkBooleanMacro(PreserveIntermediateFunctions,
bool);
331 void SetScalarFunctionNumber(
int num);
332 vtkGetMacro(ScalarFunctionNumber,
int);
340 void SetVectorFunctionNumber(
int num);
341 vtkGetMacro(VectorFunctionNumber,
int);
350 void AddFunction(
int functionNumber);
351 void RemoveFunction(
int);
352 void RemoveAllFunctions();
359 virtual int CanReadBinaryFile(
const char* fname);
375 FILE_LITTLE_ENDIAN = 1
410 int CheckFile(FILE*& fp,
const char* fname);
411 int CheckGeometryFile(FILE*& xyzFp);
412 int CheckFunctionFile(FILE*& fFp);
414 int GetByteCountSize();
415 int SkipByteCount(FILE* fp);
416 int ReadIntBlock(FILE* fp,
int n,
int* block);
419 virtual int ReadIntScalar(
void* vfp,
int extent[6],
int wextent[6],
vtkDataArray* scalar,
421 virtual int ReadScalar(
void* vfp,
int extent[6],
int wextent[6],
vtkDataArray* scalar,
423 virtual int ReadVector(
void* vfp,
int extent[6],
int wextent[6],
int numDims,
426 virtual int OpenFileForDataRead(
void*& fp,
const char* fname);
427 virtual void CloseFile(
void* fp);
429 int GetNumberOfBlocksInternal(FILE* xyzFp,
int allocate);
431 int ReadGeometryHeader(FILE* fp);
432 int ReadQHeader(FILE* fp,
bool checkGrid,
int& nq,
int& nqc,
int& overflow);
433 int ReadFunctionHeader(FILE* fp,
int* nFunctions);
435 void CalculateFileSize(FILE* fp);
437 int AutoDetectionCheck(FILE* fp);
471 void ClearGeometryCache();