VTK  9.3.0
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 
64 
68  void SetFileName(VTK_FILEPATH const std::string& fname);
69 
71 
79 
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 
113 
121 
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:
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 
185 
187 
188 private:
189  vtkFidesReader(const vtkFidesReader&) = delete;
190  void operator=(const vtkFidesReader&) = delete;
191 };
192 
193 VTK_ABI_NAMESPACE_END
194 #endif
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:61
Store on/off settings for data arrays, etc.
Read ADIOS2 streams using Fides data model.
void ParseDataModel()
Given a json filename, parse and internally store a data model.
int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Implements various pipeline passes.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkFidesReader * New()
Construct a new reader instance.
void ParseDataModel(VTK_FILEPATH const std::string &fname)
Given a json filename, parse and internally store a data model.
int CanReadFile(VTK_FILEPATH const std::string &name)
Test whether or not a given file should even be attempted for use with this reader.
void PrepareNextStep()
This method has to be called before each step when streaming.
void SetFileName(VTK_FILEPATH const std::string &fname)
Set the filename to be read.
StepStatus NextStepStatus
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkDataArraySelection * CellDataArraySelection
vtkDataArraySelection * FieldDataArraySelection
std::string FileName
std::unique_ptr< vtkFidesReaderImpl > Impl
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
StepStatus
When using streaming mode instead of random access, PrepareNextStep receives a step status from Fides...
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
int GetNextStepStatus()
Get the StepStatus of the next step reported by Fides.
double GetTimeOfCurrentStep()
Gets the time (from the specified ADIOS variable) of the current step.
void SetDataSourceIO(const std::string &name, const std::string &ioAddress)
Set the ADIOS2::IO object to be used for setting up the Inline engine reader.
void SetDataSourceEngine(const std::string &name, const std::string &engine)
Set the engine for a Fides data source.
virtual int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
void SetDataSourcePath(const std::string &name, VTK_FILEPATH const std::string &path)
Set the path for a Fides data source.
static vtkInformationIntegerKey * NUMBER_OF_BLOCKS()
int ADIOSAttributeCheck(const std::string &name)
~vtkFidesReader() override
vtkDataArraySelection * PointDataArraySelection
a simple class to control print indentation
Definition: vtkIndent.h:38
Key for integer values in vtkInformation.
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447
@ name
Definition: vtkX3D.h:219
@ string
Definition: vtkX3D.h:490
#define VTK_FILEPATH