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();