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)
void SetFileName(const char *name)
Set/Get the PLOT3D geometry filename.
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
const char * GetFileName(int i)
Set/Get the PLOT3D geometry filename.
vtkMultiProcessController * Controller
vtkTypeBool TwoDimensionalGeometry
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.
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
bool PreserveIntermediateFunctions
topologically regular array of data
Composite dataset that organizes datasets into blocks.
static vtkAlgorithm * New()
const char * GetFileName(int i) const
Returns a particular filename stored by the reader.
const char * GetFileName()
Set/Get the PLOT3D geometry filename.
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.