VTK  9.6.20260109
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
44
45#ifndef vtkGenericDataObjectReader_h
46#define vtkGenericDataObjectReader_h
47
48#include "vtkDataReader.h"
49#include "vtkIOLegacyModule.h" // For export macro
50
51VTK_ABI_NAMESPACE_BEGIN
52class vtkCellGrid;
53class vtkDataObject;
54class vtkGraph;
55class vtkMolecule;
56class vtkPolyData;
61class vtkTable;
62class vtkTree;
64
65class VTKIOLEGACY_EXPORT vtkGenericDataObjectReader : public vtkDataReader
66{
67public:
70 void PrintSelf(ostream& os, vtkIndent indent) override;
71
73
79
81
100
105 virtual int ReadOutputType();
106
110 int ReadMetaDataSimple(VTK_FILEPATH const std::string& fname, vtkInformation* metadata) override;
111
115 int ReadMeshSimple(VTK_FILEPATH const std::string& fname, vtkDataObject* output) override;
116
117protected:
120
121 vtkDataObject* CreateOutput(vtkDataObject* currentOutput) override;
122
124
125private:
127 void operator=(const vtkGenericDataObjectReader&) = delete;
128
129 template <typename ReaderT, typename DataT>
130 void ReadData(const char* fname, const char* dataClass, vtkDataObject* output);
131
132 vtkSetStringMacro(Header);
133};
134
135VTK_ABI_NAMESPACE_END
136#endif
Visualization data composed of cells of arbitrary type.
Definition vtkCellGrid.h:49
general representation of visualization data
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.
vtkStatisticalModel * GetStatisticalModelOutput()
Get the output as various concrete types.
vtkStructuredPoints * GetStructuredPointsOutput()
Get the output as various concrete types.
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
vtkCellGrid * GetCellGridOutput()
Get the output as various concrete types.
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.
int ReadMeshSimple(const std::string &fname, vtkDataObject *output) override
Actual reading happens here.
vtkMolecule * GetMoleculeOutput()
Get the output as various concrete types.
int ReadMetaDataSimple(const std::string &fname, vtkInformation *metadata) override
Read metadata from file.
vtkUnstructuredGrid * GetUnstructuredGridOutput()
Get the output as various concrete types.
Base class for graph data types.
Definition vtkGraph.h:342
a simple class to control print indentation
Definition vtkIndent.h:108
Store vtkAlgorithm input/output information.
class describing a molecule
Definition vtkMolecule.h:84
concrete dataset represents vertices, lines, polygons, and triangle strips
a dataset that is topologically regular with variable spacing in the three coordinate directions
a base class for statistical modeling of other data
topologically regular array of data
A subclass of ImageData.
A table, which contains similar-typed columns of data.
Definition vtkTable.h:169
A rooted tree data structure.
Definition vtkTree.h:156
dataset represents arbitrary combinations of all possible cell types
#define VTK_FILEPATH