86 #ifndef vtkMultiBlockPLOT3DReader_h 87 #define vtkMultiBlockPLOT3DReader_h 90 #include "vtkIOParallelModule.h" 104 class ComputeFunctor;
105 class ComputeTemperatureFunctor;
106 class ComputePressureFunctor;
107 class ComputePressureCoefficientFunctor;
108 class ComputeMachNumberFunctor;
109 class ComputeSoundSpeedFunctor;
110 class ComputeEnthalpyFunctor;
111 class ComputeKinecticEnergyFunctor;
112 class ComputeVelocityMagnitudeFunctor;
113 class ComputeEntropyFunctor;
114 class ComputeSwirlFunctor;
115 class ComputeVelocityFunctor;
116 class ComputeVorticityMagnitudeFunctor;
117 class ComputePressureGradientFunctor;
118 class ComputeVorticityFunctor;
119 class ComputeStrainRateFunctor;
125 friend class Functors::ComputeFunctor;
126 friend class Functors::ComputeTemperatureFunctor;
127 friend class Functors::ComputePressureFunctor;
128 friend class Functors::ComputePressureCoefficientFunctor;
129 friend class Functors::ComputeMachNumberFunctor;
130 friend class Functors::ComputeSoundSpeedFunctor;
131 friend class Functors::ComputeEnthalpyFunctor;
132 friend class Functors::ComputeKinecticEnergyFunctor;
133 friend class Functors::ComputeVelocityMagnitudeFunctor;
134 friend class Functors::ComputeEntropyFunctor;
135 friend class Functors::ComputeSwirlFunctor;
136 friend class Functors::ComputeVelocityFunctor;
137 friend class Functors::ComputeVorticityMagnitudeFunctor;
138 friend class Functors::ComputePressureGradientFunctor;
139 friend class Functors::ComputeVorticityFunctor;
140 friend class Functors::ComputeStrainRateFunctor;
152 virtual void SetXYZFileName(
const char* );
153 vtkGetStringMacro(XYZFileName);
160 vtkSetStringMacro(QFileName);
161 vtkGetStringMacro(QFileName);
168 vtkSetStringMacro(FunctionFileName);
169 vtkGetStringMacro(FunctionFileName);
239 vtkBooleanMacro(TwoDimensionalGeometry,
vtkTypeBool);
272 void SetByteOrderToBigEndian();
273 void SetByteOrderToLittleEndian();
274 vtkSetMacro(ByteOrder,
int);
275 vtkGetMacro(ByteOrder,
int);
276 const char *GetByteOrderAsString();
283 vtkSetMacro(R,
double);
284 vtkGetMacro(R,
double);
291 vtkSetMacro(Gamma,
double);
292 vtkGetMacro(Gamma,
double);
304 vtkSetMacro(PreserveIntermediateFunctions,
bool);
305 vtkGetMacro(PreserveIntermediateFunctions,
bool);
306 vtkBooleanMacro(PreserveIntermediateFunctions,
bool);
313 void SetScalarFunctionNumber(
int num);
314 vtkGetMacro(ScalarFunctionNumber,
int);
322 void SetVectorFunctionNumber(
int num);
323 vtkGetMacro(VectorFunctionNumber,
int);
332 void AddFunction(
int functionNumber);
333 void RemoveFunction(
int);
334 void RemoveAllFunctions();
341 virtual int CanReadBinaryFile(
const char* fname);
366 int CheckFile(FILE*& fp,
const char* fname);
367 int CheckGeometryFile(FILE*& xyzFp);
368 int CheckSolutionFile(FILE*& qFp);
369 int CheckFunctionFile(FILE*& fFp);
371 int GetByteCountSize();
372 int SkipByteCount (FILE* fp);
373 int ReadIntBlock (FILE* fp,
int n,
int* block);
379 virtual int ReadIntScalar(
381 int extent[6],
int wextent[6],
384 virtual int ReadScalar(
386 int extent[6],
int wextent[6],
389 virtual int ReadVector(
391 int extent[6],
int wextent[6],
394 virtual int OpenFileForDataRead(
void*& fp,
const char* fname);
395 virtual void CloseFile(
void* fp);
397 int GetNumberOfBlocksInternal(FILE* xyzFp,
int allocate);
399 int ReadGeometryHeader(FILE* fp);
400 int ReadQHeader(FILE* fp,
bool checkGrid,
int& nq,
int& nqc,
int& overflow);
401 int ReadFunctionHeader(FILE* fp,
int* nFunctions);
403 void CalculateFileSize(FILE* fp);
405 int AutoDetectionCheck(FILE* fp);
440 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.