]> SALOME platform Git repositories - modules/paravis.git/blob - src/Plugins/StaticMesh/vtkStaticEnSight6BinaryReader.h
Salome HOME
58680aa8b87a723276ca0ab58122c7c718d9c197
[modules/paravis.git] / src / Plugins / StaticMesh / vtkStaticEnSight6BinaryReader.h
1 /*=========================================================================
2
3   Program:   Visualization Toolkit
4   Module:    vtkStaticEnSight6BinaryReader.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   vtkStaticEnSight6BinaryReader
17  * @brief   class to read binary EnSight6 files
18  *
19  * vtkStaticEnSight6BinaryReader 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 vtkStaticEnSight6BinaryReader_h
39 #define vtkStaticEnSight6BinaryReader_h
40
41 #include "vtkEnSight6BinaryReader.h"
42 #include "vtkNew.h"
43
44 class vtkMultiBlockDataSet;
45
46 class vtkStaticEnSight6BinaryReader : public vtkEnSight6BinaryReader
47 {
48 public:
49   static vtkStaticEnSight6BinaryReader *New();
50   vtkTypeMacro(vtkStaticEnSight6BinaryReader, vtkEnSight6BinaryReader);
51
52 protected:
53   vtkStaticEnSight6BinaryReader() = default;
54   ~vtkStaticEnSight6BinaryReader() override = default;
55
56   int RequestData(vtkInformation*,
57                   vtkInformationVector**,
58                   vtkInformationVector*) override;
59
60   vtkNew<vtkMultiBlockDataSet> Cache;
61   vtkTimeStamp CacheMTime;
62
63 private:
64   vtkStaticEnSight6BinaryReader(const vtkStaticEnSight6BinaryReader&) = delete;
65   void operator=(const vtkStaticEnSight6BinaryReader&) = delete;
66 };
67
68 #endif
69