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 
32 class vtkCellArray;
33 class vtkIdTypeArray;
35 class vtkTable;
36 
37 class VTKIOXML_EXPORT vtkXMLTableReader : public vtkXMLReader
38 {
39 public:
41  void PrintSelf(ostream& os, vtkIndent indent) override;
43 
45 
49  vtkTable* GetOutput(int idx);
51 
56 
61 
68  void SetupUpdateExtent(int piece, int numberOfPieces);
69 
74  void CopyOutputInformation(vtkInformation* outInfo, int port) override;
75 
76 protected:
78  ~vtkXMLTableReader() override;
79 
84 
85  void DestroyPieces();
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 
155  int ReadPieceData(int);
156 
158 
168  int EndPiece;
171 
177 
182 
186  int Piece;
187 
192 
198 
199 private:
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:181
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition: vtkIndent.h:34
Store vtkAlgorithm input/output information.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:63
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:47
Read VTK XML Table files.
int UpdatedPiece
The update request.
vtkTable * GetOutput()
Get the reader's output.
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.
const char * GetDataSetName() override
Get the name of the data set being read.
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.
vtkTable * GetOutput(int idx)
Get the reader's output.
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.
int Piece
The piece currently being read.
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.
static vtkXMLTableReader * New()
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