VTK  9.7.20261008
vtkXMLStructuredDataReader.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
14
15#ifndef vtkXMLStructuredDataReader_h
16#define vtkXMLStructuredDataReader_h
17
18#include "vtkIOXMLModule.h" // For export macro
19#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
20#include "vtkXMLDataReader.h"
21
22VTK_ABI_NAMESPACE_BEGIN
24{
25public:
27 void PrintSelf(ostream& os, vtkIndent indent) override;
28
33
38
40
46 vtkSetMacro(WholeSlices, vtkTypeBool);
47 vtkGetMacro(WholeSlices, vtkTypeBool);
48 vtkBooleanMacro(WholeSlices, vtkTypeBool);
50
55 void CopyOutputInformation(vtkInformation* outInfo, int port) override;
56
57protected:
60
61 virtual void SetOutputExtent(VTK_FUTURE_CONST int extent[6]) = 0;
62 int ReadPrimaryElement(vtkXMLDataElement* ePrimary) override;
63
64 // Pipeline execute data driver. Called by vtkXMLReader.
65 void ReadXMLData() override;
66
67 void SetupOutputInformation(vtkInformation* outInfo) override;
68
69 // Internal representation of pieces in the file that may have come
70 // from a streamed write.
76
77 // Whether to read in whole slices mode.
79
80 // The update extent and corresponding increments and dimensions.
86
88
89 // The extent currently being read.
90 int SubExtent[6];
93
94 // Override methods from superclass.
95 void SetupEmptyOutput() override;
96 void SetupPieces(int numPieces) override;
97 void DestroyPieces() override;
100
101 // Internal utility methods.
102 int ReadPiece(vtkXMLDataElement* ePiece) override;
103 virtual int ReadSubExtent(int* inExtent, int* inDimensions, vtkIdType* inIncrements,
104 int* outExtent, int* outDimensions, vtkIdType* outIncrements, int* subExtent,
105 int* subDimensions, vtkXMLDataElement* da, vtkAbstractArray* array, FieldType type);
106
107private:
109 void operator=(const vtkXMLStructuredDataReader&) = delete;
110};
111
112VTK_ABI_NAMESPACE_END
113#endif
Abstract superclass for all arrays.
a simple class to control print indentation
Definition vtkIndent.h:108
Store vtkAlgorithm input/output information.
Represents an XML element and those nested inside.
virtual int ReadSubExtent(int *inExtent, int *inDimensions, vtkIdType *inIncrements, int *outExtent, int *outDimensions, vtkIdType *outIncrements, int *subExtent, int *subDimensions, vtkXMLDataElement *da, vtkAbstractArray *array, FieldType type)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int ReadArrayForCells(vtkXMLDataElement *da, vtkAbstractArray *outArray) override
virtual void SetOutputExtent(VTK_FUTURE_CONST int extent[6])=0
void ReadXMLData() override
Pipeline execution methods to be defined by subclass.
int ReadPrimaryElement(vtkXMLDataElement *ePrimary) override
Read the primary element from the file.
vtkIdType GetNumberOfPoints() override
Get the number of points in the output.
vtkIdType GetNumberOfCells() override
Get the number of cells in the output.
void SetupEmptyOutput() override
Setup the output with no data available.
int ReadArrayForPoints(vtkXMLDataElement *da, vtkAbstractArray *outArray) override
void DestroyPieces() override
void SetupPieces(int numPieces) override
void CopyOutputInformation(vtkInformation *outInfo, int port) override
For the specified port, copy the information this reader sets up in SetupOutputInformation to outInfo...
void SetupOutputInformation(vtkInformation *outInfo) override
Setup the output's information.
~vtkXMLStructuredDataReader() override
int ReadPiece(vtkXMLDataElement *ePiece) override
int vtkTypeBool
Definition vtkABI.h:64
int vtkIdType
Definition vtkType.h:363
#define VTK_MARSHALAUTO