78 #ifndef vtkMultiBlockPLOT3DReader_h
79 #define vtkMultiBlockPLOT3DReader_h
81 #include "vtkIOParallelModule.h"
85 VTK_ABI_NAMESPACE_BEGIN
99 VTK_ABI_NAMESPACE_BEGIN
100 class ComputeFunctor;
101 class ComputeTemperatureFunctor;
102 class ComputePressureFunctor;
103 class ComputePressureCoefficientFunctor;
104 class ComputeMachNumberFunctor;
105 class ComputeSoundSpeedFunctor;
106 class ComputeEnthalpyFunctor;
107 class ComputeKinecticEnergyFunctor;
108 class ComputeVelocityMagnitudeFunctor;
109 class ComputeEntropyFunctor;
110 class ComputeSwirlFunctor;
111 class ComputeVelocityFunctor;
112 class ComputeVorticityMagnitudeFunctor;
113 class ComputePressureGradientFunctor;
114 class ComputeVorticityFunctor;
115 class ComputeStrainRateFunctor;
116 VTK_ABI_NAMESPACE_END
119 VTK_ABI_NAMESPACE_BEGIN
123 friend class Functors::ComputeFunctor;
124 friend class Functors::ComputeTemperatureFunctor;
125 friend class Functors::ComputePressureFunctor;
126 friend class Functors::ComputePressureCoefficientFunctor;
127 friend class Functors::ComputeMachNumberFunctor;
128 friend class Functors::ComputeSoundSpeedFunctor;
129 friend class Functors::ComputeEnthalpyFunctor;
130 friend class Functors::ComputeKinecticEnergyFunctor;
131 friend class Functors::ComputeVelocityMagnitudeFunctor;
132 friend class Functors::ComputeEntropyFunctor;
133 friend class Functors::ComputeSwirlFunctor;
134 friend class Functors::ComputeVelocityFunctor;
135 friend class Functors::ComputeVorticityMagnitudeFunctor;
136 friend class Functors::ComputePressureGradientFunctor;
137 friend class Functors::ComputeVorticityFunctor;
138 friend class Functors::ComputeStrainRateFunctor;
161 vtkGetFilePathMacro(XYZFileName);
183 vtkSetFilePathMacro(FunctionFileName);
184 vtkGetFilePathMacro(FunctionFileName);
254 vtkBooleanMacro(TwoDimensionalGeometry,
vtkTypeBool);
287 void SetByteOrderToBigEndian();
288 void SetByteOrderToLittleEndian();
289 vtkSetMacro(ByteOrder,
int);
290 vtkGetMacro(ByteOrder,
int);
291 const char* GetByteOrderAsString();
298 vtkSetMacro(R,
double);
299 vtkGetMacro(R,
double);
306 vtkSetMacro(Gamma,
double);
307 vtkGetMacro(Gamma,
double);
319 vtkSetMacro(PreserveIntermediateFunctions,
bool);
320 vtkGetMacro(PreserveIntermediateFunctions,
bool);
321 vtkBooleanMacro(PreserveIntermediateFunctions,
bool);
328 void SetScalarFunctionNumber(
int num);
329 vtkGetMacro(ScalarFunctionNumber,
int);
337 void SetVectorFunctionNumber(
int num);
338 vtkGetMacro(VectorFunctionNumber,
int);
347 void AddFunction(
int functionNumber);
348 void RemoveFunction(
int);
349 void RemoveAllFunctions();
356 virtual int CanReadBinaryFile(
VTK_FILEPATH const char* fname);
372 FILE_LITTLE_ENDIAN = 1
407 int CheckFile(FILE*& fp,
const char* fname);
408 int CheckGeometryFile(FILE*& xyzFp);
409 int CheckFunctionFile(FILE*& fFp);
411 int GetByteCountSize();
412 int SkipByteCount(FILE* fp);
413 int ReadIntBlock(FILE* fp,
int n,
int* block);
416 virtual int ReadIntScalar(
void* vfp,
int extent[6],
int wextent[6],
vtkDataArray* scalar,
418 virtual int ReadScalar(
void* vfp,
int extent[6],
int wextent[6],
vtkDataArray* scalar,
420 virtual int ReadVector(
void* vfp,
int extent[6],
int wextent[6],
int numDims,
423 virtual int OpenFileForDataRead(
void*& fp,
const char* fname);
424 virtual void CloseFile(
void* fp);
426 int GetNumberOfBlocksInternal(FILE* xyzFp,
int allocate);
428 int ReadGeometryHeader(FILE* fp);
429 int ReadQHeader(FILE* fp,
bool checkGrid,
int& nq,
int& nqc,
int& overflow);
430 int ReadFunctionHeader(FILE* fp,
int* nFunctions);
432 void CalculateFileSize(FILE* fp);
434 int AutoDetectionCheck(FILE* fp);
468 void ClearGeometryCache();
525 VTK_ABI_NAMESPACE_END
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.