VTK  9.6.1
vtkXMLUniformGridAMRReader.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright (c) Kitware, Inc.
3// SPDX-License-Identifier: BSD-3-Clause
25
26#ifndef vtkXMLUniformGridAMRReader_h
27#define vtkXMLUniformGridAMRReader_h
28
29#include "vtkIOXMLModule.h" // For export macro
30#include "vtkSmartPointer.h" // needed for vtkSmartPointer.
32
33VTK_ABI_NAMESPACE_BEGIN
36
38{
39public:
42 void PrintSelf(ostream& os, vtkIndent indent) override;
43
45
54 vtkSetMacro(MaximumLevelsToReadByDefault, unsigned int);
55 vtkGetMacro(MaximumLevelsToReadByDefault, unsigned int);
57
58protected:
61
68 int CanReadFileWithDataType(const char* dsname) override;
69
76 int ReadVTKFile(vtkXMLDataElement* eVTKFile) override;
77
84 int ReadPrimaryElement(vtkXMLDataElement* ePrimary) override;
85
92 vtkInformationVector* outputVector) override;
93
99 vtkInformationVector* outputVector) override;
100
101 // Get the name of the data set being read.
102 const char* GetDataSetName() override;
103
104 // Read the XML element for the subtree of a the composite dataset.
105 // dataSetIndex is used to rank the leaf nodes in an inorder traversal.
107 const char* filePath, unsigned int& dataSetIndex) override;
108
109 // Read the vtkDataSet (a leaf) in the composite dataset.
110 vtkDataSet* ReadDataset(vtkXMLDataElement* xmlElem, const char* filePath) override;
111
114
115private:
117 void operator=(const vtkXMLUniformGridAMRReader&) = delete;
118
119 void SynchronizeDataArraySelectionRecursively(
120 vtkXMLDataElement* element, const std::string& filePath);
121
122 char* OutputDataType = nullptr;
123 vtkSetStringMacro(OutputDataType);
124};
125
126VTK_ABI_NAMESPACE_END
127#endif
abstract superclass for composite (multi-block or AMR) datasets
abstract class to specify dataset behavior
Definition vtkDataSet.h:57
a simple class to control print indentation
Definition vtkIndent.h:29
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
a multi-resolution dataset based on vtkCartesianGrid allowing overlaps
Hold a reference to a vtkObjectBase instance.
Legacy, empty shell inheriting vtkAMRDataObject.
Represents an XML element and those nested inside.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int ReadVTKFile(vtkXMLDataElement *eVTKFile) override
Read the top-level element from the file.
int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Overridden to put vtkOverlappingAMR in the pipeline if available/applicable.
~vtkXMLUniformGridAMRReader() override
vtkSmartPointer< vtkOverlappingAMR > Metadata
void ReadComposite(vtkXMLDataElement *element, vtkCompositeDataSet *composite, const char *filePath, unsigned int &dataSetIndex) override
const char * GetDataSetName() override
Get the name of the data set being read.
int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Overridden to create an output data object based on the type in the file.
vtkDataSet * ReadDataset(vtkXMLDataElement *xmlElem, const char *filePath) override
int CanReadFileWithDataType(const char *dsname) override
This method is used by CanReadFile() to check if the reader can read an XML with the primary element ...
int ReadPrimaryElement(vtkXMLDataElement *ePrimary) override
Read the meta-data from the AMR from the file.
static vtkXMLUniformGridAMRReader * New()