VTK  9.6.20260204
vtkXMLGenericDataObjectReader.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
47
48#ifndef vtkXMLGenericDataObjectReader_h
49#define vtkXMLGenericDataObjectReader_h
50
51#include "vtkIOXMLModule.h" // For export macro
52#include "vtkSmartPointer.h" // for API
53#include "vtkXMLDataReader.h"
54
55VTK_ABI_NAMESPACE_BEGIN
56class vtkHierarchicalBoxDataSet;
57class vtkImageData;
60class vtkPolyData;
65
66class VTKIOXML_EXPORT vtkXMLGenericDataObjectReader : public vtkXMLDataReader
67{
68public:
70 void PrintSelf(ostream& os, vtkIndent indent) override;
72
74
80
82
97
102
107
111 void SetupEmptyOutput() override;
112
117 virtual int ReadOutputType(const char* name, bool& parallel);
118
123 static vtkSmartPointer<vtkXMLReader> CreateReader(int data_object_type, bool parallel);
124
128 int CanReadFileWithDataType(const char* dsname) override;
129
130protected:
133
137 const char* GetDataSetName() override;
138
141 virtual int RequestUpdateExtent(vtkInformation* request, vtkInformationVector** inputVector,
142 vtkInformationVector* outputVector);
143
146
147 vtkXMLReader* Reader; // actual reader
148
149private:
151 void operator=(const vtkXMLGenericDataObjectReader&) = delete;
152
153 int ReadOutputType(std::istream* stream, bool& parallel);
154 int ReadOutputType(vtkXMLFileReadTester* tester, bool& parallel);
155
161 int GetTypeIdFromClassName(const std::string& dsname);
162};
163
164VTK_ABI_NAMESPACE_END
165#endif
general representation of visualization data
topologically and geometrically regular array of data
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Composite dataset that organizes datasets into blocks.
a multi-resolution dataset based on vtkCartesianGrid allowing overlaps
concrete dataset represents vertices, lines, polygons, and triangle strips
a dataset that is topologically regular with variable spacing in the three coordinate directions
Hold a reference to a vtkObjectBase instance.
topologically regular array of data
dataset represents arbitrary combinations of all possible cell types
Utility class for vtkXMLReader and subclasses.
vtkDataObject * GetOutput(int idx)
Get the reader's output.
static vtkXMLGenericDataObjectReader * New()
virtual int RequestUpdateExtent(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual int ReadOutputType(const char *name, bool &parallel)
This method can be used to find out the type of output expected without needing to read the whole fil...
vtkImageData * GetImageDataOutput()
Get the output as various concrete types.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
vtkIdType GetNumberOfPoints() override
Overridden method.
static vtkSmartPointer< vtkXMLReader > CreateReader(int data_object_type, bool parallel)
Helper to create a reader based on the data object type.
void SetupEmptyOutput() override
Overridden method.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkMultiBlockDataSet * GetMultiBlockDataSetOutput()
Get the output as various concrete types.
vtkPolyData * GetPolyDataOutput()
Get the output as various concrete types.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
vtkStructuredGrid * GetStructuredGridOutput()
Get the output as various concrete types.
vtkIdType GetNumberOfCells() override
Overridden method.
int CanReadFileWithDataType(const char *dsname) override
Return 1 if provided dsname is supported, 0 otherwise.
~vtkXMLGenericDataObjectReader() override
int FillOutputPortInformation(int, vtkInformation *) override
Fill the output port information objects for this algorithm.
const char * GetDataSetName() override
Overridden method.
vtkOverlappingAMR * GetOverlappingAMROutput()
Get the output as various concrete types.
int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
vtkRectilinearGrid * GetRectilinearGridOutput()
Get the output as various concrete types.
vtkUnstructuredGrid * GetUnstructuredGridOutput()
Get the output as various concrete types.
vtkDataObject * GetOutput()
Get the reader's output.
int vtkIdType
Definition vtkType.h:354