VTK  9.1.0
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=========================================================================*/
24#ifndef vtkXMLTableReader_h
25#define vtkXMLTableReader_h
26
27#include "vtkIOXMLModule.h" // For export macro
28#include "vtkXMLReader.h"
29
30#include <map> // needed for std::map
31
32class vtkCellArray;
33class vtkIdTypeArray;
35class vtkTable;
36
37class VTKIOXML_EXPORT vtkXMLTableReader : public vtkXMLReader
38{
39public:
41 void PrintSelf(ostream& os, vtkIndent indent) override;
43
45
51
56
61
68 void SetupUpdateExtent(int piece, int numberOfPieces);
69
74 void CopyOutputInformation(vtkInformation* outInfo, int port) override;
75
76protected:
79
84
86
90 const char* GetDataSetName() override;
91
95 void GetOutputUpdateExtent(int& piece, int& numberOfPieces);
96
101
105 void SetupEmptyOutput() override;
106
111
116
120 void SetupOutputData() override;
121
125 void SetupOutputInformation(vtkInformation* outInfo) override;
126
130 void SetupPieces(int numPieces);
131
135 void ReadXMLData() override;
136
140 int ReadPrimaryElement(vtkXMLDataElement* ePrimary) override;
141
145 int ReadPiece(vtkXMLDataElement* ePiece, int piece);
146
151
156
158
171
177
182
186 int Piece;
187
192
198
199private:
200 std::map<std::string, int> RowDataTimeStep;
201 std::map<std::string, vtkTypeInt64> RowDataOffset;
202
203 vtkXMLTableReader(const vtkXMLTableReader&) = delete;
204 void operator=(const vtkXMLTableReader&) = delete;
205};
206
207#endif
object to represent cell connectivity
Definition: vtkCellArray.h:290
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition: vtkIndent.h:113
Store vtkAlgorithm input/output information.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:172
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:66
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
@ port
Definition: vtkX3D.h:453
int vtkIdType
Definition: vtkType.h:332