92 #ifndef vtkMultiBlockPLOT3DReader_h 93 #define vtkMultiBlockPLOT3DReader_h 96 #include "vtkIOParallelModule.h" 110 class ComputeFunctor;
111 class ComputeTemperatureFunctor;
112 class ComputePressureFunctor;
113 class ComputePressureCoefficientFunctor;
114 class ComputeMachNumberFunctor;
115 class ComputeSoundSpeedFunctor;
116 class ComputeEnthalpyFunctor;
117 class ComputeKinecticEnergyFunctor;
118 class ComputeVelocityMagnitudeFunctor;
119 class ComputeEntropyFunctor;
120 class ComputeSwirlFunctor;
121 class ComputeVelocityFunctor;
122 class ComputeVorticityMagnitudeFunctor;
123 class ComputePressureGradientFunctor;
124 class ComputeVorticityFunctor;
125 class ComputeStrainRateFunctor;
131 friend class Functors::ComputeFunctor;
132 friend class Functors::ComputeTemperatureFunctor;
133 friend class Functors::ComputePressureFunctor;
134 friend class Functors::ComputePressureCoefficientFunctor;
135 friend class Functors::ComputeMachNumberFunctor;
136 friend class Functors::ComputeSoundSpeedFunctor;
137 friend class Functors::ComputeEnthalpyFunctor;
138 friend class Functors::ComputeKinecticEnergyFunctor;
139 friend class Functors::ComputeVelocityMagnitudeFunctor;
140 friend class Functors::ComputeEntropyFunctor;
141 friend class Functors::ComputeSwirlFunctor;
142 friend class Functors::ComputeVelocityFunctor;
143 friend class Functors::ComputeVorticityMagnitudeFunctor;
144 friend class Functors::ComputePressureGradientFunctor;
145 friend class Functors::ComputeVorticityFunctor;
146 friend class Functors::ComputeStrainRateFunctor;
158 virtual void SetXYZFileName(
const char* );
159 vtkGetStringMacro(XYZFileName);
166 vtkSetStringMacro(QFileName);
167 vtkGetStringMacro(QFileName);
174 vtkSetStringMacro(FunctionFileName);
175 vtkGetStringMacro(FunctionFileName);
245 vtkBooleanMacro(TwoDimensionalGeometry,
vtkTypeBool);
278 void SetByteOrderToBigEndian();
279 void SetByteOrderToLittleEndian();
280 vtkSetMacro(ByteOrder,
int);
281 vtkGetMacro(ByteOrder,
int);
282 const char *GetByteOrderAsString();
289 vtkSetMacro(R,
double);
290 vtkGetMacro(R,
double);
297 vtkSetMacro(Gamma,
double);
298 vtkGetMacro(Gamma,
double);
310 vtkSetMacro(PreserveIntermediateFunctions,
bool);
311 vtkGetMacro(PreserveIntermediateFunctions,
bool);
312 vtkBooleanMacro(PreserveIntermediateFunctions,
bool);
319 void SetScalarFunctionNumber(
int num);
320 vtkGetMacro(ScalarFunctionNumber,
int);
328 void SetVectorFunctionNumber(
int num);
329 vtkGetMacro(VectorFunctionNumber,
int);
338 void AddFunction(
int functionNumber);
339 void RemoveFunction(
int);
340 void RemoveAllFunctions();
347 virtual int CanReadBinaryFile(
const char* fname);
372 int CheckFile(FILE*& fp,
const char* fname);
373 int CheckGeometryFile(FILE*& xyzFp);
374 int CheckSolutionFile(FILE*& qFp);
375 int CheckFunctionFile(FILE*& fFp);
377 int GetByteCountSize();
378 int SkipByteCount (FILE* fp);
379 int ReadIntBlock (FILE* fp,
int n,
int* block);
385 virtual int ReadIntScalar(
387 int extent[6],
int wextent[6],
390 virtual int ReadScalar(
392 int extent[6],
int wextent[6],
395 virtual int ReadVector(
397 int extent[6],
int wextent[6],
400 virtual int OpenFileForDataRead(
void*& fp,
const char* fname);
401 virtual void CloseFile(
void* fp);
403 int GetNumberOfBlocksInternal(FILE* xyzFp,
int allocate);
405 int ReadGeometryHeader(FILE* fp);
406 int ReadQHeader(FILE* fp,
bool checkGrid,
int& nq,
int& nqc,
int& overflow);
407 int ReadFunctionHeader(FILE* fp,
int* nFunctions);
409 void CalculateFileSize(FILE* fp);
411 int AutoDetectionCheck(FILE* fp);
446 void ClearGeometryCache();
void AddFunctionName(const std::string &name)
void SetFileName(const char *name)
Set/Get the PLOT3D geometry filename.
vtkTypeBool AutoDetectFormat
vtkMultiProcessController * Controller
vtkTypeBool TwoDimensionalGeometry
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
static vtkMultiBlockDataSetAlgorithm * New()
dynamic, self-adjusting array of int
std::vector< std::string > FunctionNames
a simple class to control print indentation
abstract superclass for arrays of numeric data
vtkMultiBlockPLOT3DReaderInternals * Internal
vtkTypeBool DoublePrecision
represent and manipulate attribute data in a dataset
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
dynamic, self-adjusting array of unsigned char
bool PreserveIntermediateFunctions
topologically regular array of data
const char * GetFileName()
Set/Get the PLOT3D geometry filename.
vtkIntArray * FunctionList
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
Multiprocessing communication superclass.