VTK
vtkOpenFOAMReader.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkOpenFOAMReader.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
44#ifndef vtkOpenFOAMReader_h
45#define vtkOpenFOAMReader_h
46
47#include "vtkIOGeometryModule.h" // For export macro
49
50class vtkCollection;
51class vtkCharArray;
53class vtkDoubleArray;
54class vtkStdString;
55class vtkStringArray;
56
57class vtkOpenFOAMReaderPrivate;
58
59class VTKIOGEOMETRY_EXPORT vtkOpenFOAMReader : public vtkMultiBlockDataSetAlgorithm
60{
61public:
64 void PrintSelf(ostream &, vtkIndent);
65
69 int CanReadFile(const char *);
70
72
75 vtkSetStringMacro(FileName);
78
83 { return this->GetNumberOfSelectionArrays(this->CellDataArraySelection); }
84
89 int GetCellArrayStatus(const char *name)
90 { return this->GetSelectionArrayStatus(this->CellDataArraySelection, name); }
91 void SetCellArrayStatus(const char *name, int status)
92 { this->SetSelectionArrayStatus(this->CellDataArraySelection, name, status); }
93
98 const char *GetCellArrayName(int index)
99 { return this->GetSelectionArrayName(this->CellDataArraySelection, index); }
100
105 { this->DisableAllSelectionArrays(this->CellDataArraySelection); }
107 { this->EnableAllSelectionArrays(this->CellDataArraySelection); }
108
113 { return this->GetNumberOfSelectionArrays(this->PointDataArraySelection); }
114
119 int GetPointArrayStatus(const char *name)
120 { return this->GetSelectionArrayStatus(this->PointDataArraySelection, name); }
121 void SetPointArrayStatus(const char *name, int status)
122 { this->SetSelectionArrayStatus(this->PointDataArraySelection,
123 name, status); }
124
129 const char *GetPointArrayName(int index)
130 { return this->GetSelectionArrayName(this->PointDataArraySelection, index); }
131
136 { this->DisableAllSelectionArrays(this->PointDataArraySelection); }
138 { this->EnableAllSelectionArrays(this->PointDataArraySelection); }
139
144 { return this->GetNumberOfSelectionArrays(
145 this->LagrangianDataArraySelection); }
146
152 { return this->GetSelectionArrayStatus(this->LagrangianDataArraySelection,
153 name); }
154 void SetLagrangianArrayStatus(const char *name, int status)
155 { this->SetSelectionArrayStatus(this->LagrangianDataArraySelection, name,
156 status); }
157
163 { return this->GetSelectionArrayName(this->LagrangianDataArraySelection,
164 index); }
165
170 { this->DisableAllSelectionArrays(this->LagrangianDataArraySelection); }
172 { this->EnableAllSelectionArrays(this->LagrangianDataArraySelection); }
173
178 { return this->GetNumberOfSelectionArrays(this->PatchDataArraySelection); }
179
184 int GetPatchArrayStatus(const char *name)
185 { return this->GetSelectionArrayStatus(this->PatchDataArraySelection, name); }
186 void SetPatchArrayStatus(const char *name, int status)
187 { this->SetSelectionArrayStatus(this->PatchDataArraySelection, name,
188 status); }
189
194 const char *GetPatchArrayName(int index)
195 { return this->GetSelectionArrayName(this->PatchDataArraySelection, index); }
196
201 { this->DisableAllSelectionArrays(this->PatchDataArraySelection); }
203 { this->EnableAllSelectionArrays(this->PatchDataArraySelection); }
204
206
209 vtkSetMacro(CreateCellToPoint,int);
210 vtkGetMacro(CreateCellToPoint,int);
211 vtkBooleanMacro(CreateCellToPoint, int);
213
215
218 vtkSetMacro(CacheMesh, int);
219 vtkGetMacro(CacheMesh, int);
220 vtkBooleanMacro(CacheMesh, int);
222
224
227 vtkSetMacro(DecomposePolyhedra, int);
228 vtkGetMacro(DecomposePolyhedra, int);
229 vtkBooleanMacro(DecomposePolyhedra, int);
231
232 // Option for reading old binary lagrangian/positions format
234
237 vtkSetMacro(PositionsIsIn13Format, int);
238 vtkGetMacro(PositionsIsIn13Format, int);
239 vtkBooleanMacro(PositionsIsIn13Format, int);
241
243
246 vtkSetMacro(ListTimeStepsByControlDict, int);
247 vtkGetMacro(ListTimeStepsByControlDict, int);
248 vtkBooleanMacro(ListTimeStepsByControlDict, int);
250
252
255 vtkSetMacro(AddDimensionsToArrayNames, int);
256 vtkGetMacro(AddDimensionsToArrayNames, int);
257 vtkBooleanMacro(AddDimensionsToArrayNames, int);
259
261
264 vtkSetMacro(ReadZones, int);
265 vtkGetMacro(ReadZones, int);
266 vtkBooleanMacro(ReadZones, int);
268
270
273 vtkSetMacro(Use64BitLabels, bool)
274 vtkGetMacro(Use64BitLabels, bool)
275 vtkBooleanMacro(Use64BitLabels, bool)
277
278 void SetRefresh() { this->Refresh = true; this->Modified(); }
279
280 void SetParent(vtkOpenFOAMReader *parent) { this->Parent = parent; }
282 bool SetTimeValue(const double);
284 int MakeMetaDataAtTimeStep(const bool);
285
286 friend class vtkOpenFOAMReaderPrivate;
287
288protected:
289 // refresh flag
291
292 // for creating cell-to-point translated data
294
295 // for caching mesh
297
298 // for decomposing polyhedra on-the-fly
300
301 // for reading old binary lagrangian/positions format
303
304 // for reading point/face/cell-Zones
306
307 // determine if time directories are listed according to controlDict
309
310 // add dimensions to array names
312
313 // Expect label size to be 64-bit integers instead of the default 32.
315
316 char *FileName;
319
320 // DataArraySelection for Patch / Region Data
325
326 // old selection status
331
332 // preserved old information
340
341 // paths to Lagrangians
343
344 // number of reader instances
346 // index of the active reader
348
355
360 void UpdateProgress(double);
361
362private:
363 vtkOpenFOAMReader *Parent;
364
365 vtkOpenFOAMReader(const vtkOpenFOAMReader&) VTK_DELETE_FUNCTION;
366 void operator=(const vtkOpenFOAMReader&) VTK_DELETE_FUNCTION;
367
368 int GetNumberOfSelectionArrays(vtkDataArraySelection *);
369 int GetSelectionArrayStatus(vtkDataArraySelection *, const char *);
370 void SetSelectionArrayStatus(vtkDataArraySelection *, const char *, int);
371 const char *GetSelectionArrayName(vtkDataArraySelection *, int);
372 void DisableAllSelectionArrays(vtkDataArraySelection *);
373 void EnableAllSelectionArrays(vtkDataArraySelection *);
374
375 void AddSelectionNames(vtkDataArraySelection *, vtkStringArray *);
376};
377
378#endif
dynamic, self-adjusting array of char
Definition: vtkCharArray.h:39
create and manipulate unsorted lists of objects
Definition: vtkCollection.h:52
Store on/off settings for data arrays for a vtkSource.
dynamic, self-adjusting array of double
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
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
vtkMTimeType CellSelectionMTimeOld
vtkCharArray * CasePath
void SetLagrangianArrayStatus(const char *name, int status)
void PrintSelf(ostream &, vtkIndent)
Methods invoked by print to print information about the object including superclasses.
void DisableAllPatchArrays()
Turn on/off all Patches including the Internal Mesh.
int GetCellArrayStatus(const char *name)
Get/Set whether the cell array with the given name is to be read.
void SetPatchArrayStatus(const char *name, int status)
int GetNumberOfCellArrays(void)
Get the number of cell arrays available in the input.
vtkDataArraySelection * PointDataArraySelection
vtkMTimeType PatchSelectionMTimeOld
vtkCollection * Readers
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
vtkDataArraySelection * CellDataArraySelection
void CreateCasePath(vtkStdString &, vtkStdString &)
void DisableAllPointArrays()
Turn on/off all point arrays.
const char * GetLagrangianArrayName(int index)
Get the name of the Lagrangian array with the given index in the input.
void CreateCharArrayFromString(vtkCharArray *, const char *, vtkStdString &)
vtkDataArraySelection * PatchDataArraySelection
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.
void SetParent(vtkOpenFOAMReader *parent)
bool SetTimeValue(const double)
static vtkOpenFOAMReader * New()
int GetNumberOfLagrangianArrays(void)
Get the number of Lagrangian arrays available in the input.
vtkMTimeType PointSelectionMTimeOld
void DisableAllLagrangianArrays()
Turn on/off all Lagrangian arrays.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
vtkDataArraySelection * LagrangianDataArraySelection
int GetPatchArrayStatus(const char *name)
Get/Set whether the Patch with the given name is to be read.
void UpdateProgress(double)
const char * GetPointArrayName(int index)
Get the name of the point array with the given index in the input.
int GetNumberOfPatchArrays(void)
Get the number of Patches (including Internal Mesh) available in the input.
int MakeInformationVector(vtkInformationVector *, const vtkStdString &)
int GetPointArrayStatus(const char *name)
Get/Set whether the point array with the given name is to be read.
int MakeMetaDataAtTimeStep(const bool)
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)
vtkStringArray * LagrangianPaths
vtkStdString * FileNameOld
void SetTimeInformation(vtkInformationVector *, vtkDoubleArray *)
int GetNumberOfPointArrays(void)
Get the number of point arrays available in the input.
vtkMTimeType LagrangianSelectionMTimeOld
int CanReadFile(const char *)
Determine if the file can be readed with this reader.
void SetPointArrayStatus(const char *name, int status)
vtkDoubleArray * GetTimeValues()
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:49
a vtkAbstractArray subclass for strings
@ name
Definition: vtkX3D.h:219
@ index
Definition: vtkX3D.h:246
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
vtkTypeUInt64 vtkMTimeType
Definition: vtkType.h:248