VTK  9.3.1
vtkFidesReader.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
25 #ifndef vtkFidesReader_h
26 #define vtkFidesReader_h
27 
28 #include "vtkAlgorithm.h"
29 #include "vtkIOFidesModule.h" // For export macro
30 #include <memory> // for std::unique_ptr
31 #include <string> // for std::string
32 
33 VTK_ABI_NAMESPACE_BEGIN
36 
37 class VTKIOFIDES_EXPORT vtkFidesReader : public vtkAlgorithm
38 {
39 public:
45  {
46  OK,
49  };
50 
51  vtkTypeMacro(vtkFidesReader, vtkAlgorithm);
52  void PrintSelf(ostream& os, vtkIndent indent) override;
53 
57  static vtkFidesReader* New();
58 
63  int CanReadFile(VTK_FILEPATH const std::string& name);
64 
68  void SetFileName(VTK_FILEPATH const std::string& fname);
69 
71 
76  void ParseDataModel(VTK_FILEPATH const std::string& fname);
77  void ParseDataModel();
79 
85  void SetDataSourcePath(const std::string& name, VTK_FILEPATH const std::string& path);
86 
90  void SetDataSourceEngine(const std::string& name, const std::string& engine);
91 
98  void SetDataSourceIO(const std::string& name, const std::string& ioAddress);
99 
104 
112  void PrepareNextStep();
113 
120  int GetNextStepStatus();
121 
126  double GetTimeOfCurrentStep();
127 
129 
135  vtkBooleanMacro(ConvertToVTK, bool);
136  vtkSetMacro(ConvertToVTK, bool);
137  vtkGetMacro(ConvertToVTK, bool);
139 
141 
144  vtkBooleanMacro(StreamSteps, bool);
145  vtkSetMacro(StreamSteps, bool);
146  vtkGetMacro(StreamSteps, bool);
148 
152  vtkGetObjectMacro(PointDataArraySelection, vtkDataArraySelection);
153 
157  vtkGetObjectMacro(CellDataArraySelection, vtkDataArraySelection);
158 
159 protected:
160  vtkFidesReader();
161  ~vtkFidesReader() override;
162 
163  struct vtkFidesReaderImpl;
164  std::unique_ptr<vtkFidesReaderImpl> Impl;
165 
170 
171  virtual int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
172  vtkInformationVector* outputVector);
173  virtual int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
174  vtkInformationVector* outputVector);
175  virtual int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
176  vtkInformationVector* outputVector);
177 
179 
183 
184  static vtkInformationIntegerKey* NUMBER_OF_BLOCKS();
185 
186  int ADIOSAttributeCheck(const std::string& name);
187 
188 private:
189  vtkFidesReader(const vtkFidesReader&) = delete;
190  void operator=(const vtkFidesReader&) = delete;
191 };
192 
193 VTK_ABI_NAMESPACE_END
194 #endif
StepStatus NextStepStatus
Store vtkAlgorithm input/output information.
vtkDataArraySelection * CellDataArraySelection
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
StepStatus
When using streaming mode instead of random access, PrepareNextStep receives a step status from Fides...
virtual vtkTypeBool ProcessRequest(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
Upstream/Downstream requests form the generalized interface through which executives invoke a algorit...
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:51
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Fill the output port information objects for this algorithm.
a simple class to control print indentation
Definition: vtkIndent.h:28
Key for integer values in vtkInformation.
Store on/off settings for data arrays, etc.
std::string FileName
std::unique_ptr< vtkFidesReaderImpl > Impl
#define VTK_FILEPATH
Store zero or more vtkInformation instances.
Read ADIOS2 streams using Fides data model.
static vtkAlgorithm * New()
vtkDataArraySelection * FieldDataArraySelection
vtkDataArraySelection * PointDataArraySelection