VTK  9.2.6
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 
48  void ClearFileNames();
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:
125  vtkSimpleReader();
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
virtual int ReadPoints(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output)=0
Read the points.
std::string GetFileName(const std::string &fileName) noexcept
Set the appropriate file name based on recognized user input.
Store vtkAlgorithm input/output information.
a simple class to control print indentation
Definition: vtkIndent.h:39
Superclass for algorithms that are not time or parallel aware.
virtual int ReadMetaDataSimple(VTK_FILEPATH const std::string &, vtkInformation *)
A subclass can override this method to provide meta data specific to a particular file...
virtual int ReadArrays(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output)=0
Read all the arrays (point, cell, field etc.).
virtual int ReadTimeDependentMetaData(int, vtkInformation *)
Provide meta-data for the pipeline.
#define VTK_FILEPATH
virtual int ReadMesh(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output)=0
Read the mesh (connectivity) for a given set of data partitioning, number of ghost levels and time st...
virtual int ReadMetaData(vtkInformation *metadata)=0
Provide meta-data for the pipeline.
general representation of visualization data
Definition: vtkDataObject.h:65
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Superclass for readers that implement a simplified API.