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* );
166 vtkSetStringMacro(QFileName);
174 vtkSetStringMacro(FunctionFileName);
190 vtkGetMacro(AutoDetectFormat,
int);
200 vtkGetMacro(BinaryFile,
int);
212 vtkGetMacro(MultiGrid,
int);
223 vtkGetMacro(HasByteCount,
int);
234 vtkGetMacro(IBlanking,
int);
244 vtkGetMacro(TwoDimensionalGeometry,
int);
255 vtkGetMacro(DoublePrecision,
int);
267 vtkGetMacro(ForceRead,
int);
278 void SetByteOrderToBigEndian();
279 void SetByteOrderToLittleEndian();
281 vtkGetMacro(ByteOrder,
int);
282 const char *GetByteOrderAsString();
290 vtkGetMacro(R,
double);
298 vtkGetMacro(Gamma,
double);
311 vtkGetMacro(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.
vtkMultiProcessController * Controller
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
int TwoDimensionalGeometry
abstract superclass for arrays of numeric data
vtkMultiBlockPLOT3DReaderInternals * Internal
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
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.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
dynamic, self-adjusting array of unsigned char
bool PreserveIntermediateFunctions
topologically regular array of data
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
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.