90 #ifndef vtkMultiBlockPLOT3DReader_h
91 #define vtkMultiBlockPLOT3DReader_h
93 #include "vtkIOParallelModule.h"
109 class ComputeFunctor;
110 class ComputeTemperatureFunctor;
111 class ComputePressureFunctor;
112 class ComputePressureCoefficientFunctor;
113 class ComputeMachNumberFunctor;
114 class ComputeSoundSpeedFunctor;
115 class ComputeEnthalpyFunctor;
116 class ComputeKinecticEnergyFunctor;
117 class ComputeVelocityMagnitudeFunctor;
118 class ComputeEntropyFunctor;
119 class ComputeSwirlFunctor;
120 class ComputeVelocityFunctor;
121 class ComputeVorticityMagnitudeFunctor;
122 class ComputePressureGradientFunctor;
123 class ComputeVorticityFunctor;
124 class ComputeStrainRateFunctor;
129 friend class Functors::ComputeFunctor;
130 friend class Functors::ComputeTemperatureFunctor;
131 friend class Functors::ComputePressureFunctor;
132 friend class Functors::ComputePressureCoefficientFunctor;
133 friend class Functors::ComputeMachNumberFunctor;
134 friend class Functors::ComputeSoundSpeedFunctor;
135 friend class Functors::ComputeEnthalpyFunctor;
136 friend class Functors::ComputeKinecticEnergyFunctor;
137 friend class Functors::ComputeVelocityMagnitudeFunctor;
138 friend class Functors::ComputeEntropyFunctor;
139 friend class Functors::ComputeSwirlFunctor;
140 friend class Functors::ComputeVelocityFunctor;
141 friend class Functors::ComputeVorticityMagnitudeFunctor;
142 friend class Functors::ComputePressureGradientFunctor;
143 friend class Functors::ComputeVorticityFunctor;
144 friend class Functors::ComputeStrainRateFunctor;
167 vtkGetFilePathMacro(XYZFileName);
189 vtkSetFilePathMacro(FunctionFileName);
190 vtkGetFilePathMacro(FunctionFileName);
260 vtkBooleanMacro(TwoDimensionalGeometry,
vtkTypeBool);
293 void SetByteOrderToBigEndian();
294 void SetByteOrderToLittleEndian();
295 vtkSetMacro(ByteOrder,
int);
296 vtkGetMacro(ByteOrder,
int);
297 const char* GetByteOrderAsString();
304 vtkSetMacro(R,
double);
305 vtkGetMacro(R,
double);
312 vtkSetMacro(Gamma,
double);
313 vtkGetMacro(Gamma,
double);
325 vtkSetMacro(PreserveIntermediateFunctions,
bool);
326 vtkGetMacro(PreserveIntermediateFunctions,
bool);
327 vtkBooleanMacro(PreserveIntermediateFunctions,
bool);
334 void SetScalarFunctionNumber(
int num);
335 vtkGetMacro(ScalarFunctionNumber,
int);
343 void SetVectorFunctionNumber(
int num);
344 vtkGetMacro(VectorFunctionNumber,
int);
353 void AddFunction(
int functionNumber);
354 void RemoveFunction(
int);
355 void RemoveAllFunctions();
362 virtual int CanReadBinaryFile(
VTK_FILEPATH const char* fname);
378 FILE_LITTLE_ENDIAN = 1
413 int CheckFile(FILE*& fp,
const char* fname);
414 int CheckGeometryFile(FILE*& xyzFp);
415 int CheckFunctionFile(FILE*& fFp);
417 int GetByteCountSize();
418 int SkipByteCount(FILE* fp);
419 int ReadIntBlock(FILE* fp,
int n,
int* block);
422 virtual int ReadIntScalar(
void* vfp,
int extent[6],
int wextent[6],
vtkDataArray* scalar,
424 virtual int ReadScalar(
void* vfp,
int extent[6],
int wextent[6],
vtkDataArray* scalar,
426 virtual int ReadVector(
void* vfp,
int extent[6],
int wextent[6],
int numDims,
429 virtual int OpenFileForDataRead(
void*& fp,
const char* fname);
430 virtual void CloseFile(
void* fp);
432 int GetNumberOfBlocksInternal(FILE* xyzFp,
int allocate);
434 int ReadGeometryHeader(FILE* fp);
435 int ReadQHeader(FILE* fp,
bool checkGrid,
int& nq,
int& nqc,
int& overflow);
436 int ReadFunctionHeader(FILE* fp,
int* nFunctions);
438 void CalculateFileSize(FILE* fp);
440 int AutoDetectionCheck(FILE* fp);
474 void ClearGeometryCache();
void AddFunctionName(const std::string &name)
VTK_FILEPATH const char * GetFileName(int i) const
Returns a particular filename stored by the reader.
int ReadMesh(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output) override
This is the superclass API overridden by this class to provide time support internally.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int ReadMetaData(vtkInformation *metadata) override
This is the superclass API overridden by this class to provide time support internally.
vtkTypeBool AutoDetectFormat
vtkMultiProcessController * Controller
vtkTypeBool TwoDimensionalGeometry
void SetFileName(VTK_FILEPATH const char *name)
Set/Get the PLOT3D geometry filename.
dynamic, self-adjusting array of int
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Fill the output port information objects for this algorithm.
std::vector< std::string > FunctionNames
a simple class to control print indentation
int ReadPoints(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output) override
This is the superclass API overridden by this class to provide time support internally.
VTK_FILEPATH const char * GetFileName(int i)
Set/Get the PLOT3D geometry filename.
abstract superclass for arrays of numeric data
int ReadArrays(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output) override
This is the superclass API overridden by this class to provide time support internally.
vtkMultiBlockPLOT3DReaderInternals * Internal
vtkTypeBool DoublePrecision
Superclass for algorithms that are parallel aware.
represent and manipulate attribute data in a dataset
dynamic, self-adjusting array of unsigned char
VTK_FILEPATH const char * GetFileName()
Set/Get the PLOT3D geometry filename.
bool PreserveIntermediateFunctions
topologically regular array of data
Composite dataset that organizes datasets into blocks.
static vtkAlgorithm * New()
virtual double GetTimeValue(const std::string &fname)
A subclass can override this method to provide an actual time value for a given file (this method is ...
general representation of visualization data
vtkIntArray * FunctionList
Multiprocessing communication superclass.