VTK  9.1.0
vtkXMLStructuredDataReader.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkXMLStructuredDataReader.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
27#ifndef vtkXMLStructuredDataReader_h
28#define vtkXMLStructuredDataReader_h
29
30#include "vtkIOXMLModule.h" // For export macro
31#include "vtkXMLDataReader.h"
32
33class VTKIOXML_EXPORT vtkXMLStructuredDataReader : public vtkXMLDataReader
34{
35public:
37 void PrintSelf(ostream& os, vtkIndent indent) override;
38
43
48
50
56 vtkSetMacro(WholeSlices, vtkTypeBool);
57 vtkGetMacro(WholeSlices, vtkTypeBool);
58 vtkBooleanMacro(WholeSlices, vtkTypeBool);
60
65 void CopyOutputInformation(vtkInformation* outInfo, int port) override;
66
67protected:
70
71 virtual void SetOutputExtent(int* extent) = 0;
72 int ReadPrimaryElement(vtkXMLDataElement* ePrimary) override;
73
74 // Pipeline execute data driver. Called by vtkXMLReader.
75 void ReadXMLData() override;
76
77 void SetupOutputInformation(vtkInformation* outInfo) override;
78
79 // Internal representation of pieces in the file that may have come
80 // from a streamed write.
86
87 // Whether to read in whole slices mode.
89
90 // The update extent and corresponding increments and dimensions.
91 int UpdateExtent[6];
92 int PointDimensions[3];
93 int CellDimensions[3];
94 vtkIdType PointIncrements[3];
95 vtkIdType CellIncrements[3];
96
97 int WholeExtent[6];
98
99 // The extent currently being read.
100 int SubExtent[6];
101 int SubPointDimensions[3];
102 int SubCellDimensions[3];
103
104 // Override methods from superclass.
105 void SetupEmptyOutput() override;
106 void SetupPieces(int numPieces) override;
107 void DestroyPieces() override;
110
111 // Internal utility methods.
112 int ReadPiece(vtkXMLDataElement* ePiece) override;
113 virtual int ReadSubExtent(int* inExtent, int* inDimensions, vtkIdType* inIncrements,
114 int* outExtent, int* outDimensions, vtkIdType* outIncrements, int* subExtent,
115 int* subDimensions, vtkXMLDataElement* da, vtkAbstractArray* array, FieldType type);
116
117private:
119 void operator=(const vtkXMLStructuredDataReader&) = delete;
120};
121
122#endif
Abstract superclass for all arrays.
a simple class to control print indentation
Definition: vtkIndent.h:113
Store vtkAlgorithm input/output information.
Represents an XML element and those nested inside.
Superclass for VTK XML file readers.
Superclass for structured data XML readers.
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
void ReadXMLData() override
int ReadPrimaryElement(vtkXMLDataElement *ePrimary) override
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
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
virtual void SetOutputExtent(int *extent)=0
~vtkXMLStructuredDataReader() override
int ReadPiece(vtkXMLDataElement *ePiece) override
@ port
Definition: vtkX3D.h:453
@ extent
Definition: vtkX3D.h:351
@ type
Definition: vtkX3D.h:522
int vtkTypeBool
Definition: vtkABI.h:69
int vtkIdType
Definition: vtkType.h:332