VTK  9.0.3
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(const char* fname);
44 
49 
53  int GetNumberOfFileNames() const;
54 
58  const char* GetFileName(int i) const;
59 
64  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(const std::string& fname);
88 
94  virtual int ReadMetaDataSimple(const std::string& /*fname*/, vtkInformation* /*metadata*/)
95  {
96  return 1;
97  }
98 
105  virtual int ReadMeshSimple(const std::string& fname, vtkDataObject* output) = 0;
106 
113  virtual int ReadPointsSimple(const std::string& fname, vtkDataObject* output) = 0;
114 
121  virtual int ReadArraysSimple(const std::string& fname, vtkDataObject* output) = 0;
122 
123 protected:
125  ~vtkSimpleReader() override;
126 
128 
131 
132 private:
133  vtkSimpleReader(const vtkSimpleReader&) = delete;
134  void operator=(const vtkSimpleReader&) = delete;
135 
136  vtkSimpleReaderInternal* Internal;
137 };
138 
139 #endif
general representation of visualization data
Definition: vtkDataObject.h:60
Superclass for all pipeline executives in VTK.
Definition: vtkExecutive.h:47
a simple class to control print indentation
Definition: vtkIndent.h:34
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 ...
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
Read the points.
void ClearFileNames()
Removes all filenames stored by the reader.
int ReadArrays(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output) override
Read all the arrays (point, cell, field etc.).
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.
vtkExecutive * CreateDefaultExecutive() override
Create a default executive.
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
Provide meta-data for the pipeline.
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.
const char * GetCurrentFileName() const
Returns the filename that was last loaded by the reader.
int ReadMesh(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output) override
Read the mesh (connectivity) for a given set of data partitioning, number of ghost levels and time st...
@ string
Definition: vtkX3D.h:496