VTK  9.3.0
vtkGenericDataObjectReader.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
26#ifndef vtkGenericDataObjectReader_h
27#define vtkGenericDataObjectReader_h
28
29#include "vtkDataReader.h"
30#include "vtkIOLegacyModule.h" // For export macro
31
32VTK_ABI_NAMESPACE_BEGIN
33class vtkDataObject;
34class vtkGraph;
35class vtkMolecule;
36class vtkPolyData;
40class vtkTable;
41class vtkTree;
43
44class VTKIOLEGACY_EXPORT vtkGenericDataObjectReader : public vtkDataReader
45{
46public:
49 void PrintSelf(ostream& os, vtkIndent indent) override;
50
52
58
60
77
82 virtual int ReadOutputType();
83
87 int ReadMetaDataSimple(VTK_FILEPATH const std::string& fname, vtkInformation* metadata) override;
88
92 int ReadMeshSimple(VTK_FILEPATH const std::string& fname, vtkDataObject* output) override;
93
94protected:
97
98 vtkDataObject* CreateOutput(vtkDataObject* currentOutput) override;
99
101
102private:
104 void operator=(const vtkGenericDataObjectReader&) = delete;
105
106 template <typename ReaderT, typename DataT>
107 void ReadData(const char* fname, const char* dataClass, vtkDataObject* output);
108
109 vtkSetStringMacro(Header);
110};
111
112VTK_ABI_NAMESPACE_END
113#endif
general representation of visualization data
helper superclass for objects that read vtk data files
class to read any type of vtk data object
vtkDataObject * CreateOutput(vtkDataObject *currentOutput) override
This can be overridden by a subclass to create an output that is determined by the file being read.
vtkPolyData * GetPolyDataOutput()
Get the output as various concrete types.
virtual int ReadOutputType()
This method can be used to find out the type of output expected without needing to read the whole fil...
static vtkGenericDataObjectReader * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int ReadMeshSimple(VTK_FILEPATH const std::string &fname, vtkDataObject *output) override
Actual reading happens here.
vtkStructuredPoints * GetStructuredPointsOutput()
Get the output as various concrete types.
int ReadMetaDataSimple(VTK_FILEPATH const std::string &fname, vtkInformation *metadata) override
Read metadata from file.
vtkDataObject * GetOutput(int idx)
Get the output of this filter.
vtkGraph * GetGraphOutput()
Get the output as various concrete types.
vtkStructuredGrid * GetStructuredGridOutput()
Get the output as various concrete types.
int FillOutputPortInformation(int, vtkInformation *) override
Fill the output port information objects for this algorithm.
vtkTable * GetTableOutput()
Get the output as various concrete types.
~vtkGenericDataObjectReader() override
vtkTree * GetTreeOutput()
Get the output as various concrete types.
vtkRectilinearGrid * GetRectilinearGridOutput()
Get the output as various concrete types.
vtkDataObject * GetOutput()
Get the output of this filter.
vtkMolecule * GetMoleculeOutput()
Get the output as various concrete types.
vtkUnstructuredGrid * GetUnstructuredGridOutput()
Get the output as various concrete types.
Base class for graph data types.
Definition vtkGraph.h:281
a simple class to control print indentation
Definition vtkIndent.h:29
Store vtkAlgorithm input/output information.
class describing a molecule
Definition vtkMolecule.h:84
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition vtkPolyData.h:80
a dataset that is topologically regular with variable spacing in the three coordinate directions
topologically regular array of data
A subclass of ImageData.
A table, which contains similar-typed columns of data.
Definition vtkTable.h:59
A rooted tree data structure.
Definition vtkTree.h:46
dataset represents arbitrary combinations of all possible cell types
#define VTK_FILEPATH