1 /*=========================================================================
3 Program: Visualization Toolkit
4 Module: vtkStaticEnSight6Reader.h
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
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.
14 =========================================================================*/
16 * @class vtkStaticEnSight6Reader
17 * @brief class to read binary EnSight6 files
19 * vtkStaticEnSight6Reader is a class to read binary EnSight6 files into vtk.
20 * Because the different parts of the EnSight data can be of various data
21 * types, this reader produces multiple outputs, one per part in the input
23 * All variable information is being stored in field data. The descriptions
24 * listed in the case file are used as the array names in the field data.
25 * For complex vector variables, the description is appended with _r (for the
26 * array of real values) and _i (for the array if imaginary values). Complex
27 * scalar variables are stored as a single array with 2 components, real and
28 * imaginary, listed in that order.
30 * You must manually call Update on this reader and then connect the rest
31 * of the pipeline because (due to the nature of the file format) it is
32 * not possible to know ahead of time how many outputs you will have or
33 * what types they will be.
34 * If UseStaticMesh is true, this reader generates an unstructured grid
35 * with static geometry.
38 #ifndef vtkStaticEnSight6Reader_h
39 #define vtkStaticEnSight6Reader_h
41 #include <vtkEnSight6Reader.h>
44 #include "StaticMeshModuleModule.h"
46 class vtkMultiBlockDataSet;
48 class STATICMESHMODULE_EXPORT vtkStaticEnSight6Reader : public vtkEnSight6Reader
51 static vtkStaticEnSight6Reader* New();
52 vtkTypeMacro(vtkStaticEnSight6Reader, vtkEnSight6Reader);
56 * This boolean control whether or not the output
57 * should be considered a static mesh.
59 vtkGetMacro(UseStaticMesh, bool);
60 vtkSetMacro(UseStaticMesh, bool);
61 vtkBooleanMacro(UseStaticMesh, bool);
65 vtkStaticEnSight6Reader() = default;
66 ~vtkStaticEnSight6Reader() override = default;
69 * see vtkDataSetAlgorithm
71 int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
74 vtkStaticEnSight6Reader(const vtkStaticEnSight6Reader&) = delete;
75 void operator=(const vtkStaticEnSight6Reader&) = delete;
77 bool UseStaticMesh = false;
79 vtkNew<vtkMultiBlockDataSet> Cache;
80 vtkTimeStamp CacheMTime;