VTK  9.7.1
vtkDataSetReader.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
31 #ifndef vtkDataSetReader_h
32 #define vtkDataSetReader_h
33 
34 #include "vtkDataReader.h"
35 #include "vtkIOLegacyModule.h" // For export macro
36 
37 VTK_ABI_NAMESPACE_BEGIN
38 class vtkDataSet;
39 class vtkPolyData;
40 class vtkRectilinearGrid;
41 class vtkStructuredGrid;
44 
45 class VTKIOLEGACY_EXPORT vtkDataSetReader : public vtkDataReader
46 {
47 public:
48  static vtkDataSetReader* New();
50  void PrintSelf(ostream& os, vtkIndent indent) override;
51 
53 
56  vtkDataSet* GetOutput();
57  vtkDataSet* GetOutput(int idx);
59 
61 
68  static bool CanReadFile(VTK_FILEPATH const char* filename);
69  static bool CanReadFile(vtkResourceStream* stream);
71 
73 
80  vtkPolyData* GetPolyDataOutput();
81  vtkStructuredPoints* GetStructuredPointsOutput();
82  vtkStructuredGrid* GetStructuredGridOutput();
83  vtkUnstructuredGrid* GetUnstructuredGridOutput();
84  vtkRectilinearGrid* GetRectilinearGridOutput();
86 
91  virtual int ReadOutputType();
92 
96  int ReadMetaDataSimple(VTK_FILEPATH const std::string& fname, vtkInformation* metadata) override;
97 
101  int ReadMeshSimple(VTK_FILEPATH const std::string& fname, vtkDataObject* output) override;
102 
103 protected:
105  ~vtkDataSetReader() override;
106 
107  vtkDataObject* CreateOutput(vtkDataObject* currentOutput) override;
108 
109  int FillOutputPortInformation(int, vtkInformation*) override;
110 
111 private:
112  vtkDataSetReader(const vtkDataSetReader&) = delete;
113  void operator=(const vtkDataSetReader&) = delete;
114 };
115 
116 VTK_ABI_NAMESPACE_END
117 #endif
a dataset that is topologically regular with variable spacing in the three coordinate directions ...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Abstract class used for custom streams.
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
virtual vtkDataObject * CreateOutput(vtkDataObject *currentOutput)
This can be overridden by a subclass to create an output that is determined by the file being read...
class to read any type of vtk dataset
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:71
int ReadMeshSimple(const std::string &, vtkDataObject *) override
Overridden with default implementation of doing nothing so that subclasses only override what is need...
static vtkDataReader * New()
helper superclass for objects that read vtk data files
Definition: vtkDataReader.h:52
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Fill the output port information objects for this algorithm.
a simple class to control print indentation
Definition: vtkIndent.h:28
dataset represents arbitrary combinations of all possible cell types
virtual int ReadMetaDataSimple(const std::string &, vtkInformation *)
A subclass can override this method to provide meta data specific to a particular file...
#define VTK_FILEPATH
A subclass of ImageData.
topologically regular array of data
general representation of visualization data
Definition: vtkDataObject.h:55