87 #ifndef vtkMultiBlockPLOT3DReader_h 88 #define vtkMultiBlockPLOT3DReader_h 90 #include "vtkIOParallelModule.h" 106 class ComputeFunctor;
107 class ComputeTemperatureFunctor;
108 class ComputePressureFunctor;
109 class ComputePressureCoefficientFunctor;
110 class ComputeMachNumberFunctor;
111 class ComputeSoundSpeedFunctor;
112 class ComputeEnthalpyFunctor;
113 class ComputeKinecticEnergyFunctor;
114 class ComputeVelocityMagnitudeFunctor;
115 class ComputeEntropyFunctor;
116 class ComputeSwirlFunctor;
117 class ComputeVelocityFunctor;
118 class ComputeVorticityMagnitudeFunctor;
119 class ComputePressureGradientFunctor;
120 class ComputeVorticityFunctor;
121 class ComputeStrainRateFunctor;
126 friend class Functors::ComputeFunctor;
127 friend class Functors::ComputeTemperatureFunctor;
128 friend class Functors::ComputePressureFunctor;
129 friend class Functors::ComputePressureCoefficientFunctor;
130 friend class Functors::ComputeMachNumberFunctor;
131 friend class Functors::ComputeSoundSpeedFunctor;
132 friend class Functors::ComputeEnthalpyFunctor;
133 friend class Functors::ComputeKinecticEnergyFunctor;
134 friend class Functors::ComputeVelocityMagnitudeFunctor;
135 friend class Functors::ComputeEntropyFunctor;
136 friend class Functors::ComputeSwirlFunctor;
137 friend class Functors::ComputeVelocityFunctor;
138 friend class Functors::ComputeVorticityMagnitudeFunctor;
139 friend class Functors::ComputePressureGradientFunctor;
140 friend class Functors::ComputeVorticityFunctor;
141 friend class Functors::ComputeStrainRateFunctor;
163 virtual void SetXYZFileName(
const char*);
164 vtkGetStringMacro(XYZFileName);
178 void SetQFileName(
const char*
name);
179 const char* GetQFileName();
186 vtkSetStringMacro(FunctionFileName);
187 vtkGetStringMacro(FunctionFileName);
257 vtkBooleanMacro(TwoDimensionalGeometry,
vtkTypeBool);
290 void SetByteOrderToBigEndian();
291 void SetByteOrderToLittleEndian();
292 vtkSetMacro(ByteOrder,
int);
293 vtkGetMacro(ByteOrder,
int);
294 const char* GetByteOrderAsString();
301 vtkSetMacro(R,
double);
302 vtkGetMacro(R,
double);
309 vtkSetMacro(Gamma,
double);
310 vtkGetMacro(Gamma,
double);
322 vtkSetMacro(PreserveIntermediateFunctions,
bool);
323 vtkGetMacro(PreserveIntermediateFunctions,
bool);
324 vtkBooleanMacro(PreserveIntermediateFunctions,
bool);
331 void SetScalarFunctionNumber(
int num);
332 vtkGetMacro(ScalarFunctionNumber,
int);
340 void SetVectorFunctionNumber(
int num);
341 vtkGetMacro(VectorFunctionNumber,
int);
350 void AddFunction(
int functionNumber);
351 void RemoveFunction(
int);
352 void RemoveAllFunctions();
359 virtual int CanReadBinaryFile(
const char* fname);
375 FILE_LITTLE_ENDIAN = 1
410 int CheckFile(FILE*& fp,
const char* fname);
411 int CheckGeometryFile(FILE*& xyzFp);
412 int CheckFunctionFile(FILE*& fFp);
414 int GetByteCountSize();
415 int SkipByteCount(FILE* fp);
416 int ReadIntBlock(FILE* fp,
int n,
int* block);
419 virtual int ReadIntScalar(
void* vfp,
int extent[6],
int wextent[6],
vtkDataArray* scalar,
421 virtual int ReadScalar(
void* vfp,
int extent[6],
int wextent[6],
vtkDataArray* scalar,
423 virtual int ReadVector(
void* vfp,
int extent[6],
int wextent[6],
int numDims,
426 virtual int OpenFileForDataRead(
void*& fp,
const char* fname);
427 virtual void CloseFile(
void* fp);
429 int GetNumberOfBlocksInternal(FILE* xyzFp,
int allocate);
431 int ReadGeometryHeader(FILE* fp);
432 int ReadQHeader(FILE* fp,
bool checkGrid,
int& nq,
int& nqc,
int& overflow);
433 int ReadFunctionHeader(FILE* fp,
int* nFunctions);
435 void CalculateFileSize(FILE* fp);
437 int AutoDetectionCheck(FILE* fp);
471 void ClearGeometryCache();
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
const char * GetFileName(int i) const
Returns a particular filename stored by the reader.
bool PreserveIntermediateFunctions
topologically regular array of data
Composite dataset that organizes datasets into blocks.
static vtkAlgorithm * New()
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.