Go to the documentation of this file.
93 #ifndef vtkMultiBlockPLOT3DReader_h
94 #define vtkMultiBlockPLOT3DReader_h
97 #include "vtkIOParallelModule.h"
112 class ComputeFunctor;
113 class ComputeTemperatureFunctor;
114 class ComputePressureFunctor;
115 class ComputePressureCoefficientFunctor;
116 class ComputeMachNumberFunctor;
117 class ComputeSoundSpeedFunctor;
118 class ComputeEnthalpyFunctor;
119 class ComputeKinecticEnergyFunctor;
120 class ComputeVelocityMagnitudeFunctor;
121 class ComputeEntropyFunctor;
122 class ComputeSwirlFunctor;
123 class ComputeVelocityFunctor;
124 class ComputeVorticityMagnitudeFunctor;
125 class ComputePressureGradientFunctor;
126 class ComputeVorticityFunctor;
127 class ComputeStrainRateFunctor;
133 friend class Functors::ComputeFunctor;
134 friend class Functors::ComputeTemperatureFunctor;
135 friend class Functors::ComputePressureFunctor;
136 friend class Functors::ComputePressureCoefficientFunctor;
137 friend class Functors::ComputeMachNumberFunctor;
138 friend class Functors::ComputeSoundSpeedFunctor;
139 friend class Functors::ComputeEnthalpyFunctor;
140 friend class Functors::ComputeKinecticEnergyFunctor;
141 friend class Functors::ComputeVelocityMagnitudeFunctor;
142 friend class Functors::ComputeEntropyFunctor;
143 friend class Functors::ComputeSwirlFunctor;
144 friend class Functors::ComputeVelocityFunctor;
145 friend class Functors::ComputeVorticityMagnitudeFunctor;
146 friend class Functors::ComputePressureGradientFunctor;
147 friend class Functors::ComputeVorticityFunctor;
148 friend class Functors::ComputeStrainRateFunctor;
171 vtkGetStringMacro(XYZFileName);
193 vtkSetStringMacro(FunctionFileName);
194 vtkGetStringMacro(FunctionFileName);
299 vtkSetMacro(ByteOrder,
int);
300 vtkGetMacro(ByteOrder,
int);
308 vtkSetMacro(R,
double);
309 vtkGetMacro(R,
double);
316 vtkSetMacro(Gamma,
double);
317 vtkGetMacro(Gamma,
double);
329 vtkSetMacro(PreserveIntermediateFunctions,
bool);
330 vtkGetMacro(PreserveIntermediateFunctions,
bool);
331 vtkBooleanMacro(PreserveIntermediateFunctions,
bool);
339 vtkGetMacro(ScalarFunctionNumber,
int);
348 vtkGetMacro(VectorFunctionNumber,
int);
394 int piece,
int npieces,
int nghosts,
int timestep,
397 int piece,
int npieces,
int nghosts,
int timestep,
400 int piece,
int npieces,
int nghosts,
int timestep,
446 int extent[6],
int wextent[6],
451 int extent[6],
int wextent[6],
456 int extent[6],
int wextent[6],
465 int ReadQHeader(FILE* fp,
bool checkGrid,
int& nq,
int& nqc,
int& overflow);
vtkDataArray * NewFloatArray()
int ReadMesh(const std::string &fname, int piece, int npieces, int nghosts, vtkDataObject *output) override
A method that needs to be override by the subclass to provide the mesh (topology).
int ReadMesh(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output) override
Read the mesh (connectivity) for a given set of data partitioning, number of ghost levels and time st...
virtual int OpenFileForDataRead(void *&fp, const char *fname)
vtkDataArray * ComputeTemperature(vtkStructuredGrid *output)
Each of these methods compute a derived quantity.
vtkDataArray * ComputePressureGradient(vtkStructuredGrid *output)
void AssignAttribute(int fNumber, vtkStructuredGrid *output, int attributeType)
represent and manipulate attribute data in a dataset
std::vector< std::string > FunctionNames
vtkTypeBool AutoDetectFormat
virtual void SetXYZFileName(const char *)
vtkMultiBlockDataSet * GetOutput()
Get the output data object for a port on this algorithm.
vtkDataArray * ComputeStrainRate(vtkStructuredGrid *output)
int AutoDetectionCheck(FILE *fp)
dynamic, self-adjusting array of unsigned char
int ReadPoints(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output) override
Read the points.
vtkDataArray * CreateFloatArray()
topologically regular array of data
void SetFileName(const char *name)
Set/Get the PLOT3D geometry filename.
void SetByteOrderToLittleEndian()
vtkMultiBlockDataSet * GetOutput(int)
static vtkMultiBlockPLOT3DReader * New()
int ReadMetaData(vtkInformation *metadata) override
These methods have to be overwritten from superclass because Plot3D actually uses the XYZ file to rea...
void MapFunction(int fNumber, vtkStructuredGrid *output)
abstract superclass for arrays of numeric data
int ReadPoints(const std::string &fname, int piece, int npieces, int nghosts, vtkDataObject *output) override
A method that needs to be override by the subclass to provide the point coordinates.
bool PreserveIntermediateFunctions
Composite dataset that organizes datasets into blocks.
vtkDataArray * ComputeSwirl(vtkStructuredGrid *output)
virtual int ReadIntScalar(void *vfp, int extent[6], int wextent[6], vtkDataArray *scalar, vtkTypeUInt64 offset, const vtkMultiBlockPLOT3DReaderRecord ¤tRecord)
virtual int ReadScalar(void *vfp, int extent[6], int wextent[6], vtkDataArray *scalar, vtkTypeUInt64 offset, const vtkMultiBlockPLOT3DReaderRecord ¤tRecord)
int ReadQHeader(FILE *fp, bool checkGrid, int &nq, int &nqc, int &overflow)
~vtkMultiBlockPLOT3DReader() override
vtkDataArray * ComputeKineticEnergy(vtkStructuredGrid *output)
vtkDataArray * ComputeEnthalpy(vtkStructuredGrid *output)
const char * GetFileName()
vtkIdType ReadValues(FILE *fp, int n, vtkDataArray *scalar)
int CheckFunctionFile(FILE *&fFp)
void ClearGeometryCache()
vtkMultiProcessController * Controller
vtkDataArray * ComputeMachNumber(vtkStructuredGrid *output)
void AddFunctionName(const std::string &name)
int ReadArrays(const std::string &fname, int piece, int npieces, int nghosts, vtkDataObject *output) override
A method that needs to be override by the subclass to provide data arrays.
vtkDataArray * ComputePressureCoefficient(vtkStructuredGrid *output)
Multiprocessing communication superclass.
void SetVectorFunctionNumber(int num)
Specify the vector function to extract.
const char * GetQFileName()
void AddFunction(int functionNumber)
Specify additional functions to read.
a simple class to control print indentation
const char * GetFileName(int i) const
Returns a particular filename stored by the reader.
dynamic, self-adjusting array of int
int ReadFunctionHeader(FILE *fp, int *nFunctions)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkDataArray * ComputeVelocityMagnitude(vtkStructuredGrid *output)
void SetScalarFunctionNumber(int num)
Specify the scalar function to extract.
int CheckGeometryFile(FILE *&xyzFp)
int ReadIntBlock(FILE *fp, int n, int *block)
virtual void CloseFile(void *fp)
int GetNumberOfBlocksInternal(FILE *xyzFp, int allocate)
void CalculateFileSize(FILE *fp)
vtkIntArray * FunctionList
int ReadArrays(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output) override
Read all the arrays (point, cell, field etc.).
int CheckFile(FILE *&fp, const char *fname)
vtkDataArray * ComputeSoundSpeed(vtkStructuredGrid *output)
double GetTimeValue(const std::string &fname) override
Overridden from superclass to do actual reading.
void RemoveAllFunctions()
void SetController(vtkMultiProcessController *c)
Set/Get the communicator object (we'll use global World controller if you don't set a different one).
double GetGamma(vtkIdType idx, vtkDataArray *gamma)
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
Superclass for algorithms that are parallel aware.
vtkDataArray * ComputeVorticityMagnitude(vtkStructuredGrid *output)
vtkTypeBool DoublePrecision
vtkDataArray * ComputeEntropy(vtkStructuredGrid *output)
void SetQFileName(const char *name)
Set/Get the PLOT3D solution filename.
int SkipByteCount(FILE *fp)
void SetByteOrderToBigEndian()
Set the byte order of the file (remember, more Unix workstations write big endian whereas PCs write l...
virtual int CanReadBinaryFile(const char *fname)
Return 1 if the reader can read the given file name.
vtkMultiBlockPLOT3DReader()
int ReadGeometryHeader(FILE *fp)
vtkDataArray * ComputeVorticity(vtkStructuredGrid *output)
vtkMultiBlockPLOT3DReaderInternals * Internal
const char * GetByteOrderAsString()
virtual int ReadVector(void *vfp, int extent[6], int wextent[6], int numDims, vtkDataArray *vector, vtkTypeUInt64 offset, const vtkMultiBlockPLOT3DReaderRecord ¤tRecord)
general representation of visualization data
vtkDataArray * ComputeVelocity(vtkStructuredGrid *output)
const char * GetFileName(int i)
vtkTypeBool TwoDimensionalGeometry
vtkDataArray * ComputePressure(vtkStructuredGrid *output)