]> SALOME platform Git repositories - modules/paravis.git/blob - src/Plugins/StaticMesh/plugin/StaticMeshModule/vtkStaticEnSightGoldReader.h
Salome HOME
Porting to ParaView 5.8
[modules/paravis.git] / src / Plugins / StaticMesh / plugin / StaticMeshModule / vtkStaticEnSightGoldReader.h
1 /*=========================================================================
2
3   Program:   Visualization Toolkit
4   Module:    vtkStaticEnSightGoldReader.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 =========================================================================*/
15 /**
16  * @class   vtkStaticEnSightGoldReader
17  * @brief   class to read binary EnSight6 files
18  *
19  * vtkStaticEnSightGoldReader 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
22  * file.
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.
29  * @warning
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  * This reader can only handle static EnSight datasets (both static geometry
35  * and variables).
36 */
37
38 #ifndef vtkStaticEnSightGoldReader_h
39 #define vtkStaticEnSightGoldReader_h
40
41 #include <vtkEnSightGoldReader.h>
42 #include <vtkNew.h>
43
44 class vtkMultiBlockDataSet;
45
46 class vtkStaticEnSightGoldReader : public vtkEnSightGoldReader
47 {
48 public:
49   static vtkStaticEnSightGoldReader *New();
50   vtkTypeMacro(vtkStaticEnSightGoldReader, vtkEnSightGoldReader);
51
52 protected:
53   vtkStaticEnSightGoldReader() = default;
54   ~vtkStaticEnSightGoldReader() override = default;
55
56   int RequestData(vtkInformation*,
57                   vtkInformationVector**,
58                   vtkInformationVector*) override;
59
60   vtkNew<vtkMultiBlockDataSet> Cache;
61   vtkTimeStamp CacheMTime;
62
63 private:
64   vtkStaticEnSightGoldReader(const vtkStaticEnSightGoldReader&) = delete;
65   void operator=(const vtkStaticEnSightGoldReader&) = delete;
66 };
67
68 #endif
69