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=========================================================================*/
33
34#ifndef vtkFidesReader_h
35#define vtkFidesReader_h
36
37#include "vtkAlgorithm.h"
38#include "vtkIOFidesModule.h" // For export macro
39#include <memory> // for std::unique_ptr
40#include <string> // for std::string
41
44
45class VTKIOFIDES_EXPORT vtkFidesReader : public vtkAlgorithm
46{
47public:
58
60 void PrintSelf(ostream& os, vtkIndent indent) override;
61
66
71 int CanReadFile(VTK_FILEPATH const std::string& name);
72
76 void SetFileName(VTK_FILEPATH const std::string& fname);
77
79
84 void ParseDataModel(VTK_FILEPATH const std::string& fname);
87
93 void SetDataSourcePath(const std::string& name, VTK_FILEPATH const std::string& path);
94
101 void SetDataSourceIO(const std::string& name, const std::string& ioAddress);
102
107
116
124
130
132
138 vtkBooleanMacro(ConvertToVTK, bool);
139 vtkSetMacro(ConvertToVTK, bool);
140 vtkGetMacro(ConvertToVTK, bool);
142
147
152
153protected:
155 ~vtkFidesReader() override;
156
157 struct vtkFidesReaderImpl;
158 std::unique_ptr<vtkFidesReaderImpl> Impl;
159
160 std::string FileName;
164
165 virtual int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
166 vtkInformationVector* outputVector);
167 virtual int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
168 vtkInformationVector* outputVector);
169 virtual int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
170 vtkInformationVector* outputVector);
171
172 int FillOutputPortInformation(int port, vtkInformation* info) override;
173
176
178
179 int ADIOSAttributeCheck(const std::string& name);
180
181private:
182 vtkFidesReader(const vtkFidesReader&) = delete;
183 void operator=(const vtkFidesReader&) = delete;
184};
185
186#endif
Store on/off settings for data arrays, etc.
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:34
Key for integer values in vtkInformation.
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
#define VTK_FILEPATH