87 #ifndef vtkMultiBlockPLOT3DReader_h
88 #define vtkMultiBlockPLOT3DReader_h
91 #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;
127 friend class Functors::ComputeFunctor;
128 friend class Functors::ComputeTemperatureFunctor;
129 friend class Functors::ComputePressureFunctor;
130 friend class Functors::ComputePressureCoefficientFunctor;
131 friend class Functors::ComputeMachNumberFunctor;
132 friend class Functors::ComputeSoundSpeedFunctor;
133 friend class Functors::ComputeEnthalpyFunctor;
134 friend class Functors::ComputeKinecticEnergyFunctor;
135 friend class Functors::ComputeVelocityMagnitudeFunctor;
136 friend class Functors::ComputeEntropyFunctor;
137 friend class Functors::ComputeSwirlFunctor;
138 friend class Functors::ComputeVelocityFunctor;
139 friend class Functors::ComputeVorticityMagnitudeFunctor;
140 friend class Functors::ComputePressureGradientFunctor;
141 friend class Functors::ComputeVorticityFunctor;
142 friend class Functors::ComputeStrainRateFunctor;
164 virtual void SetXYZFileName(
const char* );
165 vtkGetStringMacro(XYZFileName);
179 void SetQFileName(
const char*
name);
180 const char* GetQFileName();
187 vtkSetStringMacro(FunctionFileName);
188 vtkGetStringMacro(FunctionFileName);
258 vtkBooleanMacro(TwoDimensionalGeometry,
vtkTypeBool);
291 void SetByteOrderToBigEndian();
292 void SetByteOrderToLittleEndian();
293 vtkSetMacro(ByteOrder,
int);
294 vtkGetMacro(ByteOrder,
int);
295 const char *GetByteOrderAsString();
302 vtkSetMacro(R,
double);
303 vtkGetMacro(R,
double);
310 vtkSetMacro(Gamma,
double);
311 vtkGetMacro(Gamma,
double);
323 vtkSetMacro(PreserveIntermediateFunctions,
bool);
324 vtkGetMacro(PreserveIntermediateFunctions,
bool);
325 vtkBooleanMacro(PreserveIntermediateFunctions,
bool);
332 void SetScalarFunctionNumber(
int num);
333 vtkGetMacro(ScalarFunctionNumber,
int);
341 void SetVectorFunctionNumber(
int num);
342 vtkGetMacro(VectorFunctionNumber,
int);
351 void AddFunction(
int functionNumber);
352 void RemoveFunction(
int);
353 void RemoveAllFunctions();
360 virtual int CanReadBinaryFile(
const char* fname);
388 int piece,
int npieces,
int nghosts,
int timestep,
391 int piece,
int npieces,
int nghosts,
int timestep,
394 int piece,
int npieces,
int nghosts,
int timestep,
426 int CheckFile(FILE*& fp,
const char* fname);
427 int CheckGeometryFile(FILE*& xyzFp);
428 int CheckFunctionFile(FILE*& fFp);
430 int GetByteCountSize();
431 int SkipByteCount (FILE* fp);
432 int ReadIntBlock (FILE* fp,
int n,
int* block);
438 virtual int ReadIntScalar(
440 int extent[6],
int wextent[6],
443 virtual int ReadScalar(
445 int extent[6],
int wextent[6],
448 virtual int ReadVector(
450 int extent[6],
int wextent[6],
453 virtual int OpenFileForDataRead(
void*& fp,
const char* fname);
454 virtual void CloseFile(
void* fp);
456 int GetNumberOfBlocksInternal(FILE* xyzFp,
int allocate);
458 int ReadGeometryHeader(FILE* fp);
459 int ReadQHeader(FILE* fp,
bool checkGrid,
int& nq,
int& nqc,
int& overflow);
460 int ReadFunctionHeader(FILE* fp,
int* nFunctions);
462 void CalculateFileSize(FILE* fp);
464 int AutoDetectionCheck(FILE* fp);
499 void ClearGeometryCache();