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
33VTK_ABI_NAMESPACE_BEGIN
36
37class VTKIOFIDES_EXPORT vtkFidesReader : public vtkAlgorithm
38{
39public:
45 {
49 };
50
52 void PrintSelf(ostream& os, vtkIndent indent) override;
53
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);
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
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
159protected:
161 ~vtkFidesReader() override;
162
163 struct vtkFidesReaderImpl;
164 std::unique_ptr<vtkFidesReaderImpl> Impl;
165
166 std::string FileName;
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
178 int FillOutputPortInformation(int port, vtkInformation* info) override;
179
183
185
186 int ADIOSAttributeCheck(const std::string& name);
187
188private:
189 vtkFidesReader(const vtkFidesReader&) = delete;
190 void operator=(const vtkFidesReader&) = delete;
191};
192
193VTK_ABI_NAMESPACE_END
194#endif
Superclass for all sources, filters, and sinks in VTK.
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.
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.
static vtkFidesReader * New()
Construct a new reader instance.
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.
static vtkInformationIntegerKey * NUMBER_OF_BLOCKS()
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.
int ADIOSAttributeCheck(const std::string &name)
~vtkFidesReader() override
vtkDataArraySelection * PointDataArraySelection
a simple class to control print indentation
Definition vtkIndent.h:29
Key for integer values in vtkInformation.
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
#define VTK_FILEPATH