VTK  9.5.20250810
vtkSimpleReader.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
9#ifndef vtkSimpleReader_h
10#define vtkSimpleReader_h
11
12#include "vtkCommonExecutionModelModule.h" // For export macro
13#include "vtkReaderAlgorithm.h"
14
15#include <string> // needed for std::string in the interface
16
17VTK_ABI_NAMESPACE_BEGIN
18struct vtkSimpleReaderInternal;
19
20class VTKCOMMONEXECUTIONMODEL_EXPORT vtkSimpleReader : public vtkReaderAlgorithm
21{
22public:
24 void PrintSelf(ostream& os, vtkIndent indent) override;
25
32 void AddFileName(VTK_FILEPATH const char* fname);
33
38
43
47 VTK_FILEPATH const char* GetFileName(int i) const;
48
53 VTK_FILEPATH const char* GetCurrentFileName() const;
54
56
61 int ReadTimeDependentMetaData(int timestep, vtkInformation* metadata) override;
62 int ReadMetaData(vtkInformation* metadata) override;
63 int ReadMesh(int piece, int npieces, int nghosts, int timestep, vtkDataObject* output) override;
64 int ReadPoints(int piece, int npieces, int nghosts, int timestep, vtkDataObject* output) override;
65 int ReadArrays(int piece, int npieces, int nghosts, int timestep, vtkDataObject* output) override;
67
76 virtual double GetTimeValue(VTK_FILEPATH const std::string& fname);
77
83 virtual int ReadMetaDataSimple(
84 VTK_FILEPATH const std::string& /*fname*/, vtkInformation* /*metadata*/)
85 {
86 return 1;
87 }
88
95 virtual int ReadMeshSimple(VTK_FILEPATH const std::string& fname, vtkDataObject* output) = 0;
96
103 virtual int ReadPointsSimple(VTK_FILEPATH const std::string& fname, vtkDataObject* output) = 0;
104
111 virtual int ReadArraysSimple(VTK_FILEPATH const std::string& fname, vtkDataObject* output) = 0;
112
113protected:
116
119
120private:
121 vtkSimpleReader(const vtkSimpleReader&) = delete;
122 void operator=(const vtkSimpleReader&) = delete;
123
124 vtkSimpleReaderInternal* Internal;
125};
126
127VTK_ABI_NAMESPACE_END
128#endif
general representation of visualization data
a simple class to control print indentation
Definition vtkIndent.h:108
Store vtkAlgorithm input/output information.
Superclass for readers that implement a simplified API.
Superclass for algorithms that are not time or parallel aware.
virtual double GetTimeValue(const std::string &fname)
A subclass can override this method to provide an actual time value for a given file (this method is ...
const char * GetCurrentFileName() const
Returns the filename that was last loaded by the reader.
virtual int ReadPointsSimple(const std::string &fname, vtkDataObject *output)=0
A method that needs to be override by the subclass to provide the point coordinates.
int ReadPoints(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output) override
This is the superclass API overridden by this class to provide time support internally.
void ClearFileNames()
Removes all filenames stored by the reader.
int ReadArrays(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output) override
This is the superclass API overridden by this class to provide time support internally.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual int ReadMetaDataSimple(const std::string &, vtkInformation *)
A subclass can override this method to provide meta data specific to a particular file.
int ReadTimeDependentMetaData(int timestep, vtkInformation *metadata) override
This is the superclass API overridden by this class to provide time support internally.
int GetNumberOfFileNames() const
Returns the number of filenames stored by the reader.
virtual int ReadMeshSimple(const std::string &fname, vtkDataObject *output)=0
A method that needs to be override by the subclass to provide the mesh (topology).
int ReadMetaData(vtkInformation *metadata) override
This is the superclass API overridden by this class to provide time support internally.
virtual int ReadArraysSimple(const std::string &fname, vtkDataObject *output)=0
A method that needs to be override by the subclass to provide data arrays.
void AddFileName(const char *fname)
Add a filename to be read.
~vtkSimpleReader() override
const char * GetFileName(int i) const
Returns a particular filename stored by the reader.
int ReadMesh(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output) override
This is the superclass API overridden by this class to provide time support internally.
#define VTK_FILEPATH