38#ifndef vtkOpenFOAMReader_h 
   39#define vtkOpenFOAMReader_h 
   41#include "vtkIOGeometryModule.h"  
   46VTK_ABI_NAMESPACE_BEGIN
 
   55class vtkOpenFOAMReaderPrivate;
 
   57#define VTK_OPENFOAM_TIME_PROFILING 0 
   63  friend class vtkOpenFOAMReaderPrivate;
 
   90  vtkSetMacro(SequentialProcessing, 
bool);
 
   91  vtkGetMacro(SequentialProcessing, 
bool);
 
   92  vtkBooleanMacro(SequentialProcessing, 
bool);
 
  105    return this->GetNumberOfSelectionArrays(this->CellDataArraySelection);
 
  114    return this->GetSelectionArrayStatus(this->CellDataArraySelection, name);
 
  118    this->SetSelectionArrayStatus(this->CellDataArraySelection, name, status);
 
  127    return this->GetSelectionArrayName(this->CellDataArraySelection, index);
 
  146    return this->GetNumberOfSelectionArrays(this->PointDataArraySelection);
 
  155    return this->GetSelectionArrayStatus(this->PointDataArraySelection, name);
 
  159    this->SetSelectionArrayStatus(this->PointDataArraySelection, name, status);
 
  168    return this->GetSelectionArrayName(this->PointDataArraySelection, index);
 
  187    return this->GetNumberOfSelectionArrays(this->LagrangianDataArraySelection);
 
  196    return this->GetSelectionArrayStatus(this->LagrangianDataArraySelection, name);
 
  200    this->SetSelectionArrayStatus(this->LagrangianDataArraySelection, name, status);
 
  209    return this->GetSelectionArrayName(this->LagrangianDataArraySelection, index);
 
  217    this->DisableAllSelectionArrays(this->LagrangianDataArraySelection);
 
  221    this->EnableAllSelectionArrays(this->LagrangianDataArraySelection);
 
  234    return this->GetNumberOfSelectionArrays(this->PatchDataArraySelection);
 
  243    return this->GetSelectionArrayStatus(this->PatchDataArraySelection, name);
 
  247    this->SetSelectionArrayStatus(this->PatchDataArraySelection, name, status);
 
  256    return this->GetSelectionArrayName(this->PatchDataArraySelection, index);
 
  314  vtkSetMacro(SkipZeroTime, 
bool);
 
  315  vtkGetMacro(SkipZeroTime, 
bool);
 
  316  vtkBooleanMacro(SkipZeroTime, 
bool);
 
  351  vtkGetMacro(Use64BitLabels, 
bool);
 
  352  vtkBooleanMacro(Use64BitLabels, 
bool);
 
  360  vtkGetMacro(CopyDataToCellZones, 
bool);
 
  361  vtkSetMacro(CopyDataToCellZones, 
bool);
 
  362  vtkBooleanMacro(CopyDataToCellZones, 
bool);
 
  372  vtkGetMacro(Use64BitFloats, 
bool);
 
  373  vtkBooleanMacro(Use64BitFloats, 
bool);
 
  382  vtkGetMacro(IgnoreRestartFiles, 
bool);
 
  383  vtkSetMacro(IgnoreRestartFiles, 
bool);
 
  384  vtkBooleanMacro(IgnoreRestartFiles, 
bool);
 
  389    this->Refresh = 
true;
 
  399      populateMeshIndicesFileChecksPerPrivateReader = {});
 
  420#if VTK_OPENFOAM_TIME_PROFILING 
  421  long long GetRequestInformationTimeInMicroseconds() 
const;
 
  422  long long GetRequestDataTimeInMicroseconds() 
const;
 
  423  size_t GetRequestInformationBytes() 
const;
 
  424  size_t GetRequestDataBytes() 
const;
 
  425  virtual void InitializeRequestInformation();
 
  426  virtual void InitializeRequestData();
 
  427  virtual void PrintRequestInformation();
 
  428  virtual void PrintRequestData();
 
  478  std::vector<vtkSmartPointer<vtkObject>> 
Readers;
 
  498  vtkGetMacro(FileNameOld, std::string);
 
  500  vtkGetMacro(SkipZeroTimeOld, 
bool);
 
  502  vtkGetMacro(ListTimeStepsByControlDictOld, 
int);
 
  504  vtkGetMacro(CreateCellToPointOld, 
int);
 
  506  vtkGetMacro(DecomposePolyhedraOld, 
int);
 
  508  vtkGetMacro(PositionsIsIn13FormatOld, 
int);
 
  510  vtkGetMacro(AddDimensionsToArrayNamesOld, 
int);
 
  512  vtkGetMacro(ReadZonesOld, 
int);
 
  514  vtkGetMacro(Use64BitLabelsOld, 
bool);
 
  516  vtkGetMacro(Use64BitFloatsOld, 
bool);
 
  545  void PrintTimes(std::ostream& os, 
vtkIndent indent = 
vtkIndent(), 
bool full = 
false) 
const;
 
  547  std::mutex ArraySelectionMutex;
 
  548  std::mutex ProgressMutex;
 
  551  bool IgnoreRestartFiles = 
true;
 
  553#if VTK_OPENFOAM_TIME_PROFILING 
  554  long long RequestInformationTimeInMicroseconds = 0;
 
  555  size_t RequestDataBytes = 0;
 
  556  long long RequestDataTimeInMicroseconds = 0;
 
  557  size_t RequestInformationBytes = 0;
 
dynamic, self-adjusting array of char
 
create and manipulate ordered lists of objects
 
Store on/off settings for data arrays, etc.
 
dynamic, self-adjusting array of double
 
a simple class to control print indentation
 
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
 
virtual void Modified()
Update the modification time for this object.
 
reads a dataset in OpenFOAM format
 
void UpdateProgress(vtkOpenFOAMReaderPrivate *reader, double progress)
 
vtkMTimeType CellSelectionMTimeOld
 
std::vector< vtkSmartPointer< vtkUnsignedCharArray > > GetPopulateMeshIndicesFileChecksPerReader()
 
std::vector< vtkSmartPointer< vtkTable > > GetMarshalledMetadataPerReader()
 
void SetLagrangianArrayStatus(const char *name, int status)
 
~vtkOpenFOAMReader() override
 
vtkTypeBool AddDimensionsToArrayNames
 
void DisableAllPatchArrays()
Turn on/off all Patches including the Internal Mesh.
 
bool SetTimeValue(double)
 
int GetCellArrayStatus(const char *name)
Get/Set whether the cell array with the given name is to be read.
 
vtkSetFilePathMacro(FileName)
Set/Get the filename.
 
void SetPatchArrayStatus(const char *name, int status)
 
int PositionsIsIn13FormatOld
 
bool SequentialProcessing
 
vtkDataArraySelection * PointDataArraySelection
 
vtkMTimeType PatchSelectionMTimeOld
 
double GetTimeValue() const
 
void EnableAllCellArrays()
 
int ListTimeStepsByControlDictOld
 
vtkDataArraySelection * CellDataArraySelection
 
vtkTypeBool PositionsIsIn13Format
 
int GetNumberOfCellArrays()
Get the number of cell arrays available in the input.
 
void CreateCasePath(vtkStdString &, vtkStdString &)
 
void DisableAllPointArrays()
Turn on/off all point arrays.
 
void EnableAllPatchArrays()
 
const char * GetLagrangianArrayName(int index)
Get the name of the Lagrangian array with the given index in the input.
 
int GetNumberOfPointArrays()
Get the number of point arrays available in the input.
 
void EnableAllLagrangianArrays()
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
virtual void SetUse64BitLabels(bool val)
If true, labels are expected to be 64-bit, rather than 32.
 
void CreateCharArrayFromString(vtkCharArray *, const char *, vtkStdString &)
 
vtkDataArraySelection * PatchDataArraySelection
 
virtual double ComputeProgress()
Compute the progress of the reader.
 
const char * GetCellArrayName(int index)
Get the name of the cell array with the given index in the input.
 
int GetLagrangianArrayStatus(const char *name)
Get/Set whether the Lagrangian array with the given name is to be read.
 
vtkTypeBool DecomposePolyhedra
 
void SetMarshalledMetadataPerReader(const std::vector< vtkSmartPointer< vtkTable > > &)
 
void SetParent(vtkOpenFOAMReader *parent)
 
vtkTypeBool ListTimeStepsByControlDict
 
static vtkOpenFOAMReader * New()
 
int GetNumberOfPatchArrays()
Get the number of Patches (including Internal Mesh) available in the input.
 
vtkStringArray * GetTimeNames()
 
vtkMTimeType PointSelectionMTimeOld
 
vtkGetFilePathMacro(FileName)
Set/Get the filename.
 
void DisableAllLagrangianArrays()
Turn on/off all Lagrangian arrays.
 
int AddDimensionsToArrayNamesOld
 
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
 
vtkDataArraySelection * LagrangianDataArraySelection
 
void EnableAllPointArrays()
 
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
 
int GetPatchArrayStatus(const char *name)
Get/Set whether the Patch with the given name is to be read.
 
int MakeMetaDataAtTimeStep(bool listNextTimeStep, bool skipComputingMetaData=false)
 
const char * GetPointArrayName(int index)
Get the name of the point array with the given index in the input.
 
int GetPointArrayStatus(const char *name)
Get/Set whether the point array with the given name is to be read.
 
const char * GetPatchArrayName(int index)
Get the name of the Patch with the given index in the input.
 
void DisableAllCellArrays()
Turn on/off all cell arrays.
 
void SetCellArrayStatus(const char *name, int status)
 
int MakeInformationVector(vtkInformationVector *, const vtkStdString &procDirName, vtkStringArray *timeNames=nullptr, vtkDoubleArray *timeValues=nullptr, const std::vector< vtkSmartPointer< vtkUnsignedCharArray > > &populateMeshIndicesFileChecksPerPrivateReader={})
 
virtual void SetUse64BitFloats(bool val)
If true, floats are expected to be 64-bit, rather than 32.
 
void SetTimeInformation(vtkInformationVector *, vtkDoubleArray *)
 
vtkTypeBool CreateCellToPoint
 
vtkMTimeType LagrangianSelectionMTimeOld
 
int CanReadFile(const char *)
Determine if the file can be read with this reader.
 
std::vector< vtkSmartPointer< vtkObject > > Readers
 
int DecomposePolyhedraOld
 
void SetPointArrayStatus(const char *name, int status)
 
vtkDoubleArray * GetTimeValues()
 
int GetNumberOfLagrangianArrays()
Get the number of Lagrangian arrays available in the input.
 
Hold a reference to a vtkObjectBase instance.
 
Wrapper around std::string to keep symbols short.
 
a vtkAbstractArray subclass for strings
 
A table, which contains similar-typed columns of data.
 
dynamic, self-adjusting array of unsigned char
 
vtkTypeUInt32 vtkMTimeType