VTK  9.5.20251217
vtkH5PartReader.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright (C) CSCS - Swiss National Supercomputing Centre
3// SPDX-License-Identifier: BSD-3-Clause
18
19#ifndef vtkH5PartReader_h
20#define vtkH5PartReader_h
21
22#include "vtkIOH5partModule.h" // for export macro
24
25#include <string> // for string
26#include <vector> // for vector
27
28VTK_ABI_NAMESPACE_BEGIN
30class VTKIOH5PART_EXPORT vtkH5PartReader : public vtkPolyDataAlgorithm
31{
32public:
35 void PrintSelf(ostream& os, vtkIndent indent) override;
36
38
41 void SetFileName(VTK_FILEPATH char* filename);
44
46
49 vtkGetStringMacro(Xarray);
50 vtkSetStringMacro(Xarray);
52
54
57 vtkGetStringMacro(Yarray);
58 vtkSetStringMacro(Yarray);
60
62
65 vtkGetStringMacro(Zarray);
66 vtkSetStringMacro(Zarray);
68
70
78 vtkSetMacro(GenerateVertexCells, int);
79 vtkGetMacro(GenerateVertexCells, int);
80 vtkBooleanMacro(GenerateVertexCells, int);
82
84
89 vtkSetMacro(CombineVectorComponents, int);
90 vtkGetMacro(CombineVectorComponents, int);
91 vtkBooleanMacro(CombineVectorComponents, int);
93
95
104 vtkSetMacro(MaskOutOfTimeRangeOutput, int);
105 vtkGetMacro(MaskOutOfTimeRangeOutput, int);
106 vtkBooleanMacro(MaskOutOfTimeRangeOutput, int);
108
110
121 const char* GetPointArrayName(int index);
122 int GetPointArrayStatus(const char* name);
123 void SetPointArrayStatus(const char* name, int status);
125 void EnableAll();
126 void Disable(const char* name);
127 void Enable(const char* name);
128
130 const char* GetPointArrayStatusArrayName(int index) { return GetPointArrayName(index); }
131 int GetPointArrayStatusArrayStatus(const char* name) { return GetPointArrayStatus(name); }
132 void SetPointArrayStatusArrayStatus(const char* name, int status)
133 {
134 this->SetPointArrayStatus(name, status);
135 }
136
138
141 const char* GetCoordinateArrayName(int index) { return GetPointArrayName(index); }
142 int GetCoordinateArrayStatus(const char* name);
143 void SetCoordinateArrayStatus(const char* name, int status);
145
146protected:
149 //
152 int OpenFile();
153 void CloseFile();
154 // void CopyIntoCoords(int offset, vtkDataArray *source, vtkDataArray *dest);
155 // returns 0 if no, returns 1,2,3,45 etc for the first, second...
156 // example : if CombineVectorComponents is true, then
157 // velocity_0 returns 1, velocity_1 returns 2 etc
158 // if CombineVectorComponents is false, then
159 // velocity_0 returns 0, velocity_1 returns 0 etc
160 int IndexOfVectorComponent(const char* name);
161
162 std::string NameOfVectorComponent(const char* name);
163
164 //
165 // Internal Variables
166 //
167 char* FileName;
174 uintptr_t H5FileId;
179 //
180 char* Xarray;
181 char* Yarray;
182 char* Zarray;
183
184 std::vector<double> TimeStepValues;
185
186 // To allow paraview gui to enable/disable scalar reading
188
189private:
190 vtkH5PartReader(const vtkH5PartReader&) = delete;
191 void operator=(const vtkH5PartReader&) = delete;
192};
193
194VTK_ABI_NAMESPACE_END
195#endif
Store on/off settings for data arrays, etc.
void SetFileName(char *filename)
Specify file name.
int GetNumberOfPointArrayStatusArrays()
An H5Part file may contain multiple arrays a GUI (eg Paraview) can provide a mechanism for selecting ...
int GetNumberOfCoordinateArrays()
void DisableAll()
An H5Part file may contain multiple arrays a GUI (eg Paraview) can provide a mechanism for selecting ...
void SetPointArrayStatus(const char *name, int status)
An H5Part file may contain multiple arrays a GUI (eg Paraview) can provide a mechanism for selecting ...
void Enable(const char *name)
An H5Part file may contain multiple arrays a GUI (eg Paraview) can provide a mechanism for selecting ...
static vtkH5PartReader * New()
void SetCoordinateArrayStatus(const char *name, int status)
void EnableAll()
An H5Part file may contain multiple arrays a GUI (eg Paraview) can provide a mechanism for selecting ...
int IndexOfVectorComponent(const char *name)
int GetPointArrayStatusArrayStatus(const char *name)
An H5Part file may contain multiple arrays a GUI (eg Paraview) can provide a mechanism for selecting ...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTimeStamp FileOpenedTime
std::vector< double > TimeStepValues
vtkGetFilePathMacro(FileName)
Specify file name.
int GetNumberOfPointArrays()
An H5Part file may contain multiple arrays a GUI (eg Paraview) can provide a mechanism for selecting ...
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
const char * GetPointArrayStatusArrayName(int index)
An H5Part file may contain multiple arrays a GUI (eg Paraview) can provide a mechanism for selecting ...
const char * GetPointArrayName(int index)
An H5Part file may contain multiple arrays a GUI (eg Paraview) can provide a mechanism for selecting ...
~vtkH5PartReader() override
std::string NameOfVectorComponent(const char *name)
void Disable(const char *name)
An H5Part file may contain multiple arrays a GUI (eg Paraview) can provide a mechanism for selecting ...
int GetCoordinateArrayStatus(const char *name)
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
const char * GetCoordinateArrayName(int index)
vtkTimeStamp FileModifiedTime
vtkDataArraySelection * PointDataArraySelection
int GetPointArrayStatus(const char *name)
An H5Part file may contain multiple arrays a GUI (eg Paraview) can provide a mechanism for selecting ...
void SetPointArrayStatusArrayStatus(const char *name, int status)
An H5Part file may contain multiple arrays a GUI (eg Paraview) can provide a mechanism for selecting ...
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
record modification and/or execution time
#define VTK_FILEPATH