93 #ifndef vtkMultiBlockPLOT3DReader_h
94 #define vtkMultiBlockPLOT3DReader_h
97 #include "vtkIOParallelModule.h"
112 class ComputeFunctor;
113 class ComputeTemperatureFunctor;
114 class ComputePressureFunctor;
115 class ComputePressureCoefficientFunctor;
116 class ComputeMachNumberFunctor;
117 class ComputeSoundSpeedFunctor;
118 class ComputeEnthalpyFunctor;
119 class ComputeKinecticEnergyFunctor;
120 class ComputeVelocityMagnitudeFunctor;
121 class ComputeEntropyFunctor;
122 class ComputeSwirlFunctor;
123 class ComputeVelocityFunctor;
124 class ComputeVorticityMagnitudeFunctor;
125 class ComputePressureGradientFunctor;
126 class ComputeVorticityFunctor;
127 class ComputeStrainRateFunctor;
133 friend class Functors::ComputeFunctor;
134 friend class Functors::ComputeTemperatureFunctor;
135 friend class Functors::ComputePressureFunctor;
136 friend class Functors::ComputePressureCoefficientFunctor;
137 friend class Functors::ComputeMachNumberFunctor;
138 friend class Functors::ComputeSoundSpeedFunctor;
139 friend class Functors::ComputeEnthalpyFunctor;
140 friend class Functors::ComputeKinecticEnergyFunctor;
141 friend class Functors::ComputeVelocityMagnitudeFunctor;
142 friend class Functors::ComputeEntropyFunctor;
143 friend class Functors::ComputeSwirlFunctor;
144 friend class Functors::ComputeVelocityFunctor;
145 friend class Functors::ComputeVorticityMagnitudeFunctor;
146 friend class Functors::ComputePressureGradientFunctor;
147 friend class Functors::ComputeVorticityFunctor;
148 friend class Functors::ComputeStrainRateFunctor;
170 virtual void SetXYZFileName(
const char* );
171 vtkGetStringMacro(XYZFileName);
185 void SetQFileName(
const char*
name);
186 const char* GetQFileName();
193 vtkSetStringMacro(FunctionFileName);
194 vtkGetStringMacro(FunctionFileName);
264 vtkBooleanMacro(TwoDimensionalGeometry,
vtkTypeBool);
297 void SetByteOrderToBigEndian();
298 void SetByteOrderToLittleEndian();
299 vtkSetMacro(ByteOrder,
int);
300 vtkGetMacro(ByteOrder,
int);
301 const char *GetByteOrderAsString();
308 vtkSetMacro(R,
double);
309 vtkGetMacro(R,
double);
316 vtkSetMacro(Gamma,
double);
317 vtkGetMacro(Gamma,
double);
329 vtkSetMacro(PreserveIntermediateFunctions,
bool);
330 vtkGetMacro(PreserveIntermediateFunctions,
bool);
331 vtkBooleanMacro(PreserveIntermediateFunctions,
bool);
338 void SetScalarFunctionNumber(
int num);
339 vtkGetMacro(ScalarFunctionNumber,
int);
347 void SetVectorFunctionNumber(
int num);
348 vtkGetMacro(VectorFunctionNumber,
int);
357 void AddFunction(
int functionNumber);
358 void RemoveFunction(
int);
359 void RemoveAllFunctions();
366 virtual int CanReadBinaryFile(
const char* fname);
394 int piece,
int npieces,
int nghosts,
int timestep,
397 int piece,
int npieces,
int nghosts,
int timestep,
400 int piece,
int npieces,
int nghosts,
int timestep,
432 int CheckFile(FILE*& fp,
const char* fname);
433 int CheckGeometryFile(FILE*& xyzFp);
434 int CheckFunctionFile(FILE*& fFp);
436 int GetByteCountSize();
437 int SkipByteCount (FILE* fp);
438 int ReadIntBlock (FILE* fp,
int n,
int* block);
444 virtual int ReadIntScalar(
446 int extent[6],
int wextent[6],
449 virtual int ReadScalar(
451 int extent[6],
int wextent[6],
454 virtual int ReadVector(
456 int extent[6],
int wextent[6],
459 virtual int OpenFileForDataRead(
void*& fp,
const char* fname);
460 virtual void CloseFile(
void* fp);
462 int GetNumberOfBlocksInternal(FILE* xyzFp,
int allocate);
464 int ReadGeometryHeader(FILE* fp);
465 int ReadQHeader(FILE* fp,
bool checkGrid,
int& nq,
int& nqc,
int& overflow);
466 int ReadFunctionHeader(FILE* fp,
int* nFunctions);
468 void CalculateFileSize(FILE* fp);
470 int AutoDetectionCheck(FILE* fp);
505 void ClearGeometryCache();