VTK  9.1.0
vtkSimpleReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkSimpleReader.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 =========================================================================*/
21 #ifndef vtkSimpleReader_h
22 #define vtkSimpleReader_h
23 
24 #include "vtkCommonExecutionModelModule.h" // For export macro
25 #include "vtkReaderAlgorithm.h"
26 
27 #include <string> // needed for std::string in the interface
28 
29 struct vtkSimpleReaderInternal;
30 
31 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkSimpleReader : public vtkReaderAlgorithm
32 {
33 public:
35  void PrintSelf(ostream& os, vtkIndent indent) override;
36 
43  void AddFileName(VTK_FILEPATH const char* fname);
44 
49 
53  int GetNumberOfFileNames() const;
54 
58  VTK_FILEPATH const char* GetFileName(int i) const;
59 
64  VTK_FILEPATH const char* GetCurrentFileName() const;
65 
67 
72  int ReadTimeDependentMetaData(int timestep, vtkInformation* metadata) override;
73  int ReadMetaData(vtkInformation* metadata) override;
74  int ReadMesh(int piece, int npieces, int nghosts, int timestep, vtkDataObject* output) override;
75  int ReadPoints(int piece, int npieces, int nghosts, int timestep, vtkDataObject* output) override;
76  int ReadArrays(int piece, int npieces, int nghosts, int timestep, vtkDataObject* output) override;
78 
87  virtual double GetTimeValue(VTK_FILEPATH const std::string& fname);
88 
94  virtual int ReadMetaDataSimple(
95  VTK_FILEPATH const std::string& /*fname*/, vtkInformation* /*metadata*/)
96  {
97  return 1;
98  }
99 
106  virtual int ReadMeshSimple(VTK_FILEPATH const std::string& fname, vtkDataObject* output) = 0;
107 
114  virtual int ReadPointsSimple(VTK_FILEPATH const std::string& fname, vtkDataObject* output) = 0;
115 
122  virtual int ReadArraysSimple(VTK_FILEPATH const std::string& fname, vtkDataObject* output) = 0;
123 
124 protected:
126  ~vtkSimpleReader() override;
127 
130 
131 private:
132  vtkSimpleReader(const vtkSimpleReader&) = delete;
133  void operator=(const vtkSimpleReader&) = delete;
134 
135  vtkSimpleReaderInternal* Internal;
136 };
137 
138 #endif
vtkReaderAlgorithm.h
vtkReaderAlgorithm
Superclass for readers that implement a simplified API.
Definition: vtkReaderAlgorithm.h:38
vtkSimpleReader::HasTemporalMetaData
bool HasTemporalMetaData
Definition: vtkSimpleReader.h:129
vtkSimpleReader::ClearFileNames
void ClearFileNames()
Removes all filenames stored by the reader.
vtkSimpleReader::CurrentFileIndex
int CurrentFileIndex
Definition: vtkSimpleReader.h:128
VTK_FILEPATH
#define VTK_FILEPATH
Definition: vtkWrappingHints.h:46
vtkSimpleReader::~vtkSimpleReader
~vtkSimpleReader() override
vtkSimpleReader::GetTimeValue
virtual double GetTimeValue(VTK_FILEPATH const std::string &fname)
A subclass can override this method to provide an actual time value for a given file (this method is ...
vtkSimpleReader::ReadMeshSimple
virtual int ReadMeshSimple(VTK_FILEPATH const std::string &fname, vtkDataObject *output)=0
A method that needs to be override by the subclass to provide the mesh (topology).
vtkSimpleReader::ReadPointsSimple
virtual int ReadPointsSimple(VTK_FILEPATH const std::string &fname, vtkDataObject *output)=0
A method that needs to be override by the subclass to provide the point coordinates.
vtkSimpleReader::GetNumberOfFileNames
int GetNumberOfFileNames() const
Returns the number of filenames stored by the reader.
vtkSimpleReader::ReadTimeDependentMetaData
int ReadTimeDependentMetaData(int timestep, vtkInformation *metadata) override
This is the superclass API overridden by this class to provide time support internally.
vtkSimpleReader::ReadPoints
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.
vtkSimpleReader::ReadMetaDataSimple
virtual int ReadMetaDataSimple(VTK_FILEPATH const std::string &, vtkInformation *)
A subclass can override this method to provide meta data specific to a particular file.
Definition: vtkSimpleReader.h:94
vtkSimpleReader::GetFileName
VTK_FILEPATH const char * GetFileName(int i) const
Returns a particular filename stored by the reader.
vtkSimpleReader::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:113
vtkSimpleReader::AddFileName
void AddFileName(VTK_FILEPATH const char *fname)
Add a filename to be read.
vtkSimpleReader
Superclass for algorithms that are not time or parallel aware.
Definition: vtkSimpleReader.h:32
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:183
vtkX3D::string
@ string
Definition: vtkX3D.h:496
vtkSimpleReader::vtkSimpleReader
vtkSimpleReader()
vtkSimpleReader::ReadMesh
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.
vtkSimpleReader::GetCurrentFileName
VTK_FILEPATH const char * GetCurrentFileName() const
Returns the filename that was last loaded by the reader.
vtkSimpleReader::ReadArraysSimple
virtual int ReadArraysSimple(VTK_FILEPATH const std::string &fname, vtkDataObject *output)=0
A method that needs to be override by the subclass to provide data arrays.
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:169
vtkSimpleReader::ReadArrays
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.
vtkSimpleReader::ReadMetaData
int ReadMetaData(vtkInformation *metadata) override
This is the superclass API overridden by this class to provide time support internally.