VTK  9.2.5
vtkXMLTableReader.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkXMLTableReader.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 vtkXMLTableReader_h
28#define vtkXMLTableReader_h
29
30#include "vtkIOXMLModule.h" // For export macro
31#include "vtkXMLReader.h"
32
33#include <map> // needed for std::map
34
35class vtkCellArray;
36class vtkIdTypeArray;
38class vtkTable;
39
40class VTKIOXML_EXPORT vtkXMLTableReader : public vtkXMLReader
41{
42public:
44 void PrintSelf(ostream& os, vtkIndent indent) override;
46
48
54
59
64
71 void SetupUpdateExtent(int piece, int numberOfPieces);
72
77 void CopyOutputInformation(vtkInformation* outInfo, int port) override;
78
79protected:
82
87
89
93 const char* GetDataSetName() override;
94
98 void GetOutputUpdateExtent(int& piece, int& numberOfPieces);
99
104
108 void SetupEmptyOutput() override;
109
114
119
123 void SetupOutputData() override;
124
128 void SetupOutputInformation(vtkInformation* outInfo) override;
129
133 void SetupPieces(int numPieces);
134
138 void ReadXMLData() override;
139
143 int ReadPrimaryElement(vtkXMLDataElement* ePrimary) override;
144
148 int ReadPiece(vtkXMLDataElement* ePiece, int piece);
149
154
159
161
174
180
185
189 int Piece;
190
195
201
202private:
203 std::map<std::string, int> RowDataTimeStep;
204 std::map<std::string, vtkTypeInt64> RowDataOffset;
205
206 vtkXMLTableReader(const vtkXMLTableReader&) = delete;
207 void operator=(const vtkXMLTableReader&) = delete;
208};
209
210#endif
object to represent cell connectivity
Definition: vtkCellArray.h:187
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition: vtkIndent.h:40
Store vtkAlgorithm input/output information.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:74
dynamic, self-adjusting array of unsigned char
Represents an XML element and those nested inside.
Superclass for VTK's XML format readers.
Definition: vtkXMLReader.h:50
Read VTK XML Table files.
const char * GetDataSetName() override
Get the name of the data set being read.
int UpdatedPiece
The update request.
int ColumnIsEnabled(vtkXMLDataElement *eRowData)
Check whether the given array element is an enabled array.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetupOutputData() override
Initialize current output data: allocate arrays for RowData.
int ReadPrimaryElement(vtkXMLDataElement *ePrimary) override
Pipeline execute data driver.
void GetOutputUpdateExtent(int &piece, int &numberOfPieces)
Get the current piece index and the total number of piece in the dataset.
int StartPiece
The range of pieces from the file that will form the UpdatedPiece.
int FillOutputPortInformation(int, vtkInformation *) override
Fill the output port information objects for this algorithm.
int NumberOfPieces
The number of Pieces of data found in the file.
vtkTable * GetOutput(int idx)
Get the reader's output.
int Piece
The piece currently being read.
static vtkXMLTableReader * New()
int NumberOfColumns
The number of columns arrays in the output.
void SetupOutputInformation(vtkInformation *outInfo) override
Setup the output's information.
void SetupEmptyOutput() override
Initialize current output.
vtkIdType GetNumberOfPieces()
Get the number of pieces in the file.
vtkIdType GetNumberOfRows()
Get the number of rows in the output.
int ReadPiece(vtkXMLDataElement *ePiece, int piece)
Setup the piece reader at the given index.
int RowDataNeedToReadTimeStep(vtkXMLDataElement *eNested)
Specify the last time step read, useful to know if we need to read data.
vtkXMLDataElement ** RowElements
The Points element for each piece.
int ReadPiece(vtkXMLDataElement *ePiece)
Setup the current piece reader.
void ReadXMLData() override
Pipeline execute data driver.
void SetupNextPiece()
Initialize the index of the first row to be read in the next piece.
void SetupUpdateExtent(int piece, int numberOfPieces)
Setup the reader as if the given update extent were requested by its output.
void CopyOutputInformation(vtkInformation *outInfo, int port) override
For the specified port, copy the information this reader sets up in SetupOutputInformation to outInfo...
void SetupOutputTotals()
Initialize the total number of rows to be read.
vtkTable * GetOutput()
Get the reader's output.
int ReadPieceData(int)
Actually read the current piece data.
void SetupPieces(int numPieces)
Setup the number of pieces to be read and allocate space accordingly.
vtkXMLDataElement ** RowDataElements
The RowData element representations for each piece.
vtkIdType * NumberOfRows
~vtkXMLTableReader() override
int vtkIdType
Definition: vtkType.h:332