VTK  9.2.6
vtkFidesReader.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkFidesReader.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=========================================================================*/
37#ifndef vtkFidesReader_h
38#define vtkFidesReader_h
39
40#include "vtkAlgorithm.h"
41#include "vtkIOFidesModule.h" // For export macro
42#include <memory> // for std::unique_ptr
43#include <string> // for std::string
44
47
48class VTKIOFIDES_EXPORT vtkFidesReader : public vtkAlgorithm
49{
50public:
56 {
59 EndOfStream
60 };
61
63 void PrintSelf(ostream& os, vtkIndent indent) override;
64
69
74 int CanReadFile(VTK_FILEPATH const std::string& name);
75
79 void SetFileName(VTK_FILEPATH const std::string& fname);
80
82
87 void ParseDataModel(VTK_FILEPATH const std::string& fname);
90
96 void SetDataSourcePath(const std::string& name, VTK_FILEPATH const std::string& path);
97
104 void SetDataSourceIO(const std::string& name, const std::string& ioAddress);
105
110
119
127
133
135
141 vtkBooleanMacro(ConvertToVTK, bool);
142 vtkSetMacro(ConvertToVTK, bool);
143 vtkGetMacro(ConvertToVTK, bool);
145
149 vtkGetObjectMacro(PointDataArraySelection, vtkDataArraySelection);
150
154 vtkGetObjectMacro(CellDataArraySelection, vtkDataArraySelection);
155
156protected:
158 ~vtkFidesReader() override;
159
160 struct vtkFidesReaderImpl;
161 std::unique_ptr<vtkFidesReaderImpl> Impl;
162
163 std::string FileName;
167
168 virtual int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
169 vtkInformationVector* outputVector);
170 virtual int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
171 vtkInformationVector* outputVector);
172 virtual int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
173 vtkInformationVector* outputVector);
174
175 int FillOutputPortInformation(int port, vtkInformation* info) override;
176
179
181
182 int ADIOSAttributeCheck(const std::string& name);
183
184private:
185 vtkFidesReader(const vtkFidesReader&) = delete;
186 void operator=(const vtkFidesReader&) = delete;
187};
188
189#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
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.
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:40
Key for integer values in vtkInformation.
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
#define VTK_FILEPATH