VTK  9.0.1
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
vtkXMLReader.h
vtkXMLTableReader::UpdatedPiece
int UpdatedPiece
The update request.
Definition: vtkXMLTableReader.h:162
vtkXMLTableReader::NumberOfPieces
int NumberOfPieces
The number of Pieces of data found in the file.
Definition: vtkXMLTableReader.h:181
vtkXMLTableReader::GetOutput
vtkTable * GetOutput(int idx)
vtkXMLTableReader::GetOutput
vtkTable * GetOutput()
Get the reader's output.
vtkIdType
int vtkIdType
Definition: vtkType.h:338
vtkXMLTableReader::New
static vtkXMLTableReader * New()
vtkXMLTableReader::GetDataSetName
const char * GetDataSetName() override
Get the name of the data set being read.
vtkXMLTableReader::SetupOutputInformation
void SetupOutputInformation(vtkInformation *outInfo) override
Setup the output's information.
vtkXMLTableReader::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTable
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:63
vtkUnsignedCharArray
dynamic, self-adjusting array of unsigned char
Definition: vtkUnsignedCharArray.h:36
vtkXMLTableReader::GetNumberOfRows
vtkIdType GetNumberOfRows()
Get the number of rows in the output.
vtkXMLTableReader::~vtkXMLTableReader
~vtkXMLTableReader() override
vtkXMLTableReader::SetupEmptyOutput
void SetupEmptyOutput() override
Initialize current output.
vtkXMLTableReader::Piece
int Piece
The piece currently being read.
Definition: vtkXMLTableReader.h:186
vtkXMLTableReader::ReadPiece
int ReadPiece(vtkXMLDataElement *ePiece)
Setup the current piece reader.
vtkX3D::port
@ port
Definition: vtkX3D.h:453
vtkXMLTableReader::NumberOfColumns
int NumberOfColumns
The number of columns arrays in the output.
Definition: vtkXMLTableReader.h:197
vtkXMLTableReader::RowDataElements
vtkXMLDataElement ** RowDataElements
The RowData element representations for each piece.
Definition: vtkXMLTableReader.h:191
vtkXMLTableReader::RowDataNeedToReadTimeStep
int RowDataNeedToReadTimeStep(vtkXMLDataElement *eNested)
Specify the last time step read, useful to know if we need to read data.
vtkXMLTableReader::TotalNumberOfRows
vtkIdType TotalNumberOfRows
Definition: vtkXMLTableReader.h:169
vtkXMLTableReader::SetupNextPiece
void SetupNextPiece()
Initialize the index of the first row to be read in the next piece.
vtkXMLTableReader::SetupUpdateExtent
void SetupUpdateExtent(int piece, int numberOfPieces)
Setup the reader as if the given update extent were requested by its output.
vtkXMLTableReader::SetupOutputTotals
void SetupOutputTotals()
Initialize the total number of rows to be read.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:34
vtkXMLTableReader
Read VTK XML Table files.
Definition: vtkXMLTableReader.h:38
vtkXMLTableReader::GetOutputUpdateExtent
void GetOutputUpdateExtent(int &piece, int &numberOfPieces)
Get the current piece index and the total number of piece in the dataset.
vtkXMLTableReader::RowElements
vtkXMLDataElement ** RowElements
The Points element for each piece.
Definition: vtkXMLTableReader.h:175
vtkCellArray
object to represent cell connectivity
Definition: vtkCellArray.h:180
vtkXMLTableReader::ReadPiece
int ReadPiece(vtkXMLDataElement *ePiece, int piece)
Setup the piece reader at the given index.
vtkXMLTableReader::DestroyPieces
void DestroyPieces()
vtkXMLDataElement
Represents an XML element and those nested inside.
Definition: vtkXMLDataElement.h:37
vtkXMLTableReader::CopyOutputInformation
void CopyOutputInformation(vtkInformation *outInfo, int port) override
For the specified port, copy the information this reader sets up in SetupOutputInformation to outInfo...
vtkXMLTableReader::NumberOfRows
vtkIdType * NumberOfRows
Definition: vtkXMLTableReader.h:176
vtkXMLTableReader::StartPoint
vtkIdType StartPoint
Definition: vtkXMLTableReader.h:170
vtkXMLTableReader::StartPiece
int StartPiece
The range of pieces from the file that will form the UpdatedPiece.
Definition: vtkXMLTableReader.h:167
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:65
vtkXMLTableReader::ReadXMLData
void ReadXMLData() override
Pipeline execute data driver.
vtkXMLTableReader::ReadPrimaryElement
int ReadPrimaryElement(vtkXMLDataElement *ePrimary) override
Pipeline execute data driver.
vtkXMLTableReader::UpdateNumberOfPieces
int UpdateNumberOfPieces
Definition: vtkXMLTableReader.h:163
vtkXMLTableReader::GetNumberOfPieces
vtkIdType GetNumberOfPieces()
Get the number of pieces in the file.
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition: vtkIdTypeArray.h:36
vtkXMLTableReader::ColumnIsEnabled
int ColumnIsEnabled(vtkXMLDataElement *eRowData)
Check whether the given array element is an enabled array.
vtkXMLTableReader::vtkXMLTableReader
vtkXMLTableReader()
vtkXMLTableReader::SetupOutputData
void SetupOutputData() override
Initialize current output data: allocate arrays for RowData.
vtkXMLTableReader::EndPiece
int EndPiece
Definition: vtkXMLTableReader.h:168
vtkXMLTableReader::SetupPieces
void SetupPieces(int numPieces)
Setup the number of pieces to be read and allocate space accordingly.
vtkXMLTableReader::ReadPieceData
int ReadPieceData(int)
Actually read the current piece data.
vtkXMLReader
Superclass for VTK's XML format readers.
Definition: vtkXMLReader.h:44
vtkXMLTableReader::FillOutputPortInformation
int FillOutputPortInformation(int, vtkInformation *) override
Fill the output port information objects for this algorithm.