VTK  9.3.1
vtkXdmf3Reader.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
20 #ifndef vtkXdmf3Reader_h
21 #define vtkXdmf3Reader_h
22 
23 #include "vtkDataObjectAlgorithm.h"
24 #include "vtkIOXdmf3Module.h" // For export macro
25 
26 VTK_ABI_NAMESPACE_BEGIN
28 class vtkGraph;
29 
30 class VTKIOXDMF3_EXPORT vtkXdmf3Reader : public vtkDataObjectAlgorithm
31 {
32 public:
33  static vtkXdmf3Reader* New();
35  void PrintSelf(ostream& os, vtkIndent indent) override;
36 
40  void SetFileName(VTK_FILEPATH const char* filename);
41 
43 
48  virtual void AddFileName(VTK_FILEPATH const char* filename);
49  virtual void RemoveAllFileNames();
51 
53 
58  vtkSetMacro(FileSeriesAsTime, bool);
59  vtkGetMacro(FileSeriesAsTime, bool);
61 
65  virtual int CanReadFile(VTK_FILEPATH const char* filename);
66 
72  int GetNumberOfPointArrays();
73 
78  const char* GetPointArrayName(int index);
79 
81 
84  int GetPointArrayStatus(const char* name);
85  void SetPointArrayStatus(const char* name, int status);
87 
89 
94  int GetNumberOfCellArrays();
95  const char* GetCellArrayName(int index);
96  void SetCellArrayStatus(const char* name, int status);
97  int GetCellArrayStatus(const char* name);
99 
101 
106  int GetNumberOfFieldArrays();
107  const char* GetFieldArrayName(int index);
108  void SetFieldArrayStatus(const char* name, int status);
109  int GetFieldArrayStatus(const char* name);
111 
113 
118  int GetNumberOfGrids();
119  const char* GetGridName(int index);
120  void SetGridStatus(const char* gridname, int status);
121  int GetGridStatus(const char* gridname);
123 
125 
131  int GetNumberOfSets();
132  const char* GetSetName(int index);
133  void SetSetStatus(const char* gridname, int status);
134  int GetSetStatus(const char* gridname);
136 
140  int GetNumberOfSetArrays() { return this->GetNumberOfSets(); }
141  const char* GetSetArrayName(int index) { return this->GetSetName(index); }
142  int GetSetArrayStatus(const char* name) { return this->GetSetStatus(name); }
143 
148  virtual vtkGraph* GetSIL();
149 
153  int GetSILUpdateStamp();
154 
155 protected:
156  vtkXdmf3Reader();
157  ~vtkXdmf3Reader() override;
158 
159  const char* FileNameInternal;
160  vtkSetFilePathMacro(FileNameInternal);
161 
162  // Overridden to announce that we make general DataObjects.
164 
165  // Overridden to handle RDO requests the way we need to
168 
169  // Overridden to create the correct vtkDataObject subclass for the file.
170  virtual int RequestDataObjectInternal(vtkInformationVector*);
171 
172  // Overridden to announce temporal information and to participate in
173  // structured extent splitting.
175 
176  // Read the XDMF and HDF input files and fill in vtk data objects.
178 
179  vtkXdmf3ArraySelection* GetFieldArraySelection();
180  vtkXdmf3ArraySelection* GetCellArraySelection();
181  vtkXdmf3ArraySelection* GetPointArraySelection();
182  vtkXdmf3ArraySelection* GetGridsSelection();
183  vtkXdmf3ArraySelection* GetSetsSelection();
189 
190 private:
191  vtkXdmf3Reader(const vtkXdmf3Reader&) = delete;
192  void operator=(const vtkXdmf3Reader&) = delete;
193 
194  bool FileSeriesAsTime;
195 
196  class Internals;
197  Internals* Internal;
198 };
199 
200 VTK_ABI_NAMESPACE_END
201 #endif
const char * GetSetArrayName(int index)
Store vtkAlgorithm input/output information.
static vtkDataObjectAlgorithm * New()
vtkXdmf3ArraySelection * CellArraysCache
vtkXdmf3ArraySelection * FieldArraysCache
vtkTypeBool ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
see vtkAlgorithm for details
vtkXdmf3ArraySelection * SetsCache
vtkXdmf3ArraySelection * GridsCache
int GetNumberOfSetArrays()
These methods are provided to make it easier to use the Sets in ParaView.
int vtkTypeBool
Definition: vtkABI.h:64
Base class for graph data types.
Definition: vtkGraph.h:280
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
vtkXdmf3ArraySelection * PointArraysCache
a simple class to control print indentation
Definition: vtkIndent.h:28
const char * FileNameInternal
int GetSetArrayStatus(const char *name)
#define VTK_FILEPATH
Superclass for algorithms that produce only data object as output.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Store zero or more vtkInformation instances.
Reads eXtensible Data Model and Format files.
helper to identify requested arrays with
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.