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 
48 class VTKIOFIDES_EXPORT vtkFidesReader : public vtkAlgorithm
49 {
50 public:
56  {
57  OK,
59  EndOfStream
60  };
61 
62  vtkTypeMacro(vtkFidesReader, vtkAlgorithm);
63  void PrintSelf(ostream& os, vtkIndent indent) override;
64 
68  static vtkFidesReader* New();
69 
75 
79  void SetFileName(VTK_FILEPATH const std::string& fname);
80 
82 
90 
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 
156 protected:
158  ~vtkFidesReader() override;
159 
160  struct vtkFidesReaderImpl;
161  std::unique_ptr<vtkFidesReaderImpl> Impl;
162 
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 
176 
179 
181 
183 
184 private:
185  vtkFidesReader(const vtkFidesReader&) = delete;
186  void operator=(const vtkFidesReader&) = delete;
187 };
188 
189 #endif
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:122
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
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.
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:119
Key for integer values in vtkInformation.
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
@ info
Definition: vtkX3D.h:382
@ port
Definition: vtkX3D.h:453
@ name
Definition: vtkX3D.h:225
@ string
Definition: vtkX3D.h:496
#define VTK_FILEPATH