196#ifndef vtkMultiBlockPLOT3DReader_h
197#define vtkMultiBlockPLOT3DReader_h
199#include "vtkIOParallelModule.h"
216class ComputeTemperatureFunctor;
217class ComputePressureFunctor;
218class ComputePressureCoefficientFunctor;
219class ComputeMachNumberFunctor;
220class ComputeSoundSpeedFunctor;
221class ComputeEnthalpyFunctor;
222class ComputeKinecticEnergyFunctor;
223class ComputeVelocityMagnitudeFunctor;
224class ComputeEntropyFunctor;
225class ComputeSwirlFunctor;
226class ComputeVelocityFunctor;
227class ComputeVorticityMagnitudeFunctor;
228class ComputePressureGradientFunctor;
229class ComputeVorticityFunctor;
230class ComputeStrainRateFunctor;
235 friend class Functors::ComputeFunctor;
236 friend class Functors::ComputeTemperatureFunctor;
237 friend class Functors::ComputePressureFunctor;
238 friend class Functors::ComputePressureCoefficientFunctor;
239 friend class Functors::ComputeMachNumberFunctor;
240 friend class Functors::ComputeSoundSpeedFunctor;
241 friend class Functors::ComputeEnthalpyFunctor;
242 friend class Functors::ComputeKinecticEnergyFunctor;
243 friend class Functors::ComputeVelocityMagnitudeFunctor;
244 friend class Functors::ComputeEntropyFunctor;
245 friend class Functors::ComputeSwirlFunctor;
246 friend class Functors::ComputeVelocityFunctor;
247 friend class Functors::ComputeVorticityMagnitudeFunctor;
248 friend class Functors::ComputePressureGradientFunctor;
249 friend class Functors::ComputeVorticityFunctor;
250 friend class Functors::ComputeStrainRateFunctor;
401 vtkSetMacro(ByteOrder,
int);
402 vtkGetMacro(ByteOrder,
int);
410 vtkSetMacro(R,
double);
411 vtkGetMacro(R,
double);
418 vtkSetMacro(Gamma,
double);
419 vtkGetMacro(Gamma,
double);
431 vtkSetMacro(PreserveIntermediateFunctions,
bool);
432 vtkGetMacro(PreserveIntermediateFunctions,
bool);
433 vtkBooleanMacro(PreserveIntermediateFunctions,
bool);
441 vtkGetMacro(ScalarFunctionNumber,
int);
450 vtkGetMacro(VectorFunctionNumber,
int);
484 FILE_LITTLE_ENDIAN = 1
510 const std::string& fname,
int piece,
int npieces,
int nghosts,
vtkDataObject* output)
override;
512 const std::string& fname,
int piece,
int npieces,
int nghosts,
vtkDataObject* output)
override;
514 const std::string& fname,
int piece,
int npieces,
int nghosts,
vtkDataObject* output)
override;
532 virtual int ReadVector(
void* vfp,
int extent[6],
int wextent[6],
int numDims,
541 int ReadQHeader(FILE* fp,
bool checkGrid,
int& nq,
int& nqc,
int& overflow);
abstract superclass for arrays of numeric data
general representation of visualization data
represent and manipulate attribute data in a dataset
a simple class to control print indentation
dynamic, self-adjusting array of int
Composite dataset that organizes datasets into blocks.
virtual int OpenFileForDataRead(void *&fp, const char *fname)
vtkDataArray * ComputeVelocity(vtkStructuredGrid *output)
Each of these methods compute a derived quantity.
int ReadFunctionHeader(FILE *fp, int *nFunctions)
void SetByteOrderToLittleEndian()
Set the byte order of the file (remember, more Unix workstations write big endian whereas PCs write l...
VTK_FILEPATH const char * GetFileName()
Set/Get the PLOT3D geometry filename.
vtkGetFilePathMacro(FunctionFileName)
Set/Get the PLOT3D function filename.
vtkDataArray * ComputeEntropy(vtkStructuredGrid *output)
Each of these methods compute a derived quantity.
int ReadPoints(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output) override
These methods have to be overwritten from superclass because Plot3D actually uses the XYZ file to rea...
static vtkMultiBlockPLOT3DReader * New()
vtkIdType ReadValues(FILE *fp, int n, vtkDataArray *scalar)
vtkDataArray * ComputeKineticEnergy(vtkStructuredGrid *output)
Each of these methods compute a derived quantity.
virtual int CanReadBinaryFile(VTK_FILEPATH const char *fname)
Return 1 if the reader can read the given file name.
vtkMultiBlockDataSet * GetOutput()
Get the output data object for a port on this algorithm.
vtkDataArray * ComputePressureGradient(vtkStructuredGrid *output)
Each of these methods compute a derived quantity.
int ReadArrays(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output) override
These methods have to be overwritten from superclass because Plot3D actually uses the XYZ file to rea...
void SetVectorFunctionNumber(int num)
Specify the vector function to extract.
int ReadArrays(const std::string &fname, int piece, int npieces, int nghosts, vtkDataObject *output) override
Overridden from superclass to do actual reading.
vtkTypeBool DoublePrecision
virtual void SetXYZFileName(VTK_FILEPATH const char *)
Set/Get the PLOT3D geometry filename.
void CalculateFileSize(FILE *fp)
vtkDataArray * ComputePressureCoefficient(vtkStructuredGrid *output)
Each of these methods compute a derived quantity.
virtual int ReadVector(void *vfp, int extent[6], int wextent[6], int numDims, vtkDataArray *vector, vtkTypeUInt64 offset, const vtkMultiBlockPLOT3DReaderRecord ¤tRecord)
int ReadQHeader(FILE *fp, bool checkGrid, int &nq, int &nqc, int &overflow)
virtual void CloseFile(void *fp)
virtual int ReadIntScalar(void *vfp, int extent[6], int wextent[6], vtkDataArray *scalar, vtkTypeUInt64 offset, const vtkMultiBlockPLOT3DReaderRecord ¤tRecord)
int ReadMesh(const std::string &fname, int piece, int npieces, int nghosts, vtkDataObject *output) override
Overridden from superclass to do actual reading.
int CheckFunctionFile(FILE *&fFp)
int ReadPoints(const std::string &fname, int piece, int npieces, int nghosts, vtkDataObject *output) override
Overridden from superclass to do actual reading.
int CheckGeometryFile(FILE *&xyzFp)
vtkTypeBool AutoDetectFormat
int AutoDetectionCheck(FILE *fp)
vtkMultiProcessController * Controller
void SetQFileName(VTK_FILEPATH const char *name)
Set/Get the PLOT3D solution filename.
vtkMultiBlockPLOT3DReader()
void RemoveAllFunctions()
Specify additional functions to read.
int ReadIntBlock(FILE *fp, int n, int *block)
vtkDataArray * ComputeEnthalpy(vtkStructuredGrid *output)
Each of these methods compute a derived quantity.
vtkIntArray * FunctionList
vtkDataArray * ComputeSoundSpeed(vtkStructuredGrid *output)
Each of these methods compute a derived quantity.
double GetTimeValue(const std::string &fname) override
Overridden from superclass to do actual reading.
vtkDataArray * ComputeSwirl(vtkStructuredGrid *output)
Each of these methods compute a derived quantity.
~vtkMultiBlockPLOT3DReader() override
vtkDataArray * ComputeVelocityMagnitude(vtkStructuredGrid *output)
Each of these methods compute a derived quantity.
virtual int ReadScalar(void *vfp, int extent[6], int wextent[6], vtkDataArray *scalar, vtkTypeUInt64 offset, const vtkMultiBlockPLOT3DReaderRecord ¤tRecord)
double GetGamma(vtkIdType idx, vtkDataArray *gamma)
VTK_FILEPATH const char * GetFileName(int i)
Set/Get the PLOT3D geometry filename.
bool PreserveIntermediateFunctions
int ReadMesh(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output) override
These methods have to be overwritten from superclass because Plot3D actually uses the XYZ file to rea...
void SetByteOrderToBigEndian()
Set the byte order of the file (remember, more Unix workstations write big endian whereas PCs write l...
VTK_FILEPATH const char * GetQFileName()
Set/Get the PLOT3D solution filename.
std::vector< std::string > FunctionNames
void AddFunction(int functionNumber)
Specify additional functions to read.
void RemoveFunction(int)
Specify additional functions to read.
vtkDataArray * ComputeTemperature(vtkStructuredGrid *output)
Each of these methods compute a derived quantity.
void ClearGeometryCache()
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
vtkSetFilePathMacro(FunctionFileName)
Set/Get the PLOT3D function filename.
int CheckFile(FILE *&fp, const char *fname)
vtkDataArray * NewFloatArray()
vtkTypeBool TwoDimensionalGeometry
void SetScalarFunctionNumber(int num)
Specify the scalar function to extract.
vtkDataArray * ComputeVorticity(vtkStructuredGrid *output)
Each of these methods compute a derived quantity.
vtkDataArray * ComputeVorticityMagnitude(vtkStructuredGrid *output)
Each of these methods compute a derived quantity.
vtkMultiBlockDataSet * GetOutput(int)
Get the output data object for a port on this algorithm.
int ReadGeometryHeader(FILE *fp)
void MapFunction(int fNumber, vtkStructuredGrid *output)
int SkipByteCount(FILE *fp)
vtkDataArray * CreateFloatArray()
void SetFileName(VTK_FILEPATH const char *name)
Set/Get the PLOT3D geometry filename.
const char * GetByteOrderAsString()
Set the byte order of the file (remember, more Unix workstations write big endian whereas PCs write l...
void AssignAttribute(int fNumber, vtkStructuredGrid *output, int attributeType)
vtkMultiBlockPLOT3DReaderInternals * Internal
int ReadMetaData(vtkInformation *metadata) override
These methods have to be overwritten from superclass because Plot3D actually uses the XYZ file to rea...
vtkDataArray * ComputePressure(vtkStructuredGrid *output)
Each of these methods compute a derived quantity.
vtkDataArray * ComputeMachNumber(vtkStructuredGrid *output)
Each of these methods compute a derived quantity.
void AddFunctionName(const std::string &name)
int GetNumberOfBlocksInternal(FILE *xyzFp, int allocate)
vtkDataArray * ComputeStrainRate(vtkStructuredGrid *output)
Each of these methods compute a derived quantity.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkGetFilePathMacro(XYZFileName)
Set/Get the PLOT3D geometry filename.
void SetController(vtkMultiProcessController *c)
Set/Get the communicator object (we'll use global World controller if you don't set a different one).
Multiprocessing communication superclass.
Superclass for algorithms that are parallel aware.
VTK_FILEPATH const char * GetFileName(int i) const
Returns a particular filename stored by the reader.
topologically regular array of data
dynamic, self-adjusting array of unsigned char