VTK  9.2.6
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 
35 class vtkCellArray;
36 class vtkIdTypeArray;
38 class vtkTable;
39 
40 class VTKIOXML_EXPORT vtkXMLTableReader : public vtkXMLReader
41 {
42 public:
44  void PrintSelf(ostream& os, vtkIndent indent) override;
46 
48 
52  vtkTable* GetOutput(int idx);
54 
59 
64 
71  void SetupUpdateExtent(int piece, int numberOfPieces);
72 
77  void CopyOutputInformation(vtkInformation* outInfo, int port) override;
78 
79 protected:
81  ~vtkXMLTableReader() override;
82 
87 
88  void DestroyPieces();
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 
158  int ReadPieceData(int);
159 
161 
171  int EndPiece;
174 
180 
185 
189  int Piece;
190 
195 
201 
202 private:
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:296
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition: vtkIndent.h:119
Store vtkAlgorithm input/output information.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:183
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:69
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