VTK  9.2.5
vtkXMLPTableReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkXMLPTableReader.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 =========================================================================*/
32 #ifndef vtkXMLPTableReader_h
33 #define vtkXMLPTableReader_h
34 
35 #include "vtkIOXMLModule.h" // For export macro
37 
38 class vtkTable;
39 class vtkXMLTableReader;
40 
41 class VTKIOXML_EXPORT vtkXMLPTableReader : public vtkXMLPDataObjectReader
42 {
43 public:
45  void PrintSelf(ostream& os, vtkIndent indent) override;
47 
49 
53  vtkTable* GetOutput(int idx);
55 
60  void CopyOutputInformation(vtkInformation* outInfo, int port) override;
61 
66 
71  const char* GetColumnArrayName(int index);
72 
74 
78  int GetColumnArrayStatus(const char* name);
79  void SetColumnArrayStatus(const char* name, int status);
81 
86  vtkGetObjectMacro(ColumnSelection, vtkDataArraySelection);
87 
88 protected:
90  ~vtkXMLPTableReader() override;
91 
95  const char* GetDataSetName() override;
96 
101 
106  virtual vtkIdType GetNumberOfRowsInPiece(int piece);
107 
109 
111 
115  void GetOutputUpdateExtent(int& piece, int& numberOfPieces);
116 
120  void SetupEmptyOutput() override;
121 
125  void SetupOutputData() override;
126 
130  void SetupOutputInformation(vtkInformation* outInfo) override;
131 
136 
141 
145  void SetupPieces(int numPieces) override;
146 
150  void SetupUpdateExtent(int piece, int numberOfPieces);
151 
155  void ReadXMLData() override;
156 
160  int CanReadPiece(int index) override;
161 
165  int ReadPrimaryElement(vtkXMLDataElement* ePrimary) override;
166 
170  void DestroyPieces() override;
171 
173 
177  int ReadPiece(vtkXMLDataElement* ePiece) override;
178 
183 
188 
193 
195 
197  vtkInformationVector* outputVector) override;
198 
202  void PieceProgressCallback() override;
203 
207  int ColumnIsEnabled(vtkXMLDataElement* elementRowData);
208 
210  const char* GetRowArrayName(int index);
211 
217 
222  int EndPiece;
225 
227 
232 
234 
235 private:
236  vtkXMLPTableReader(const vtkXMLPTableReader&) = delete;
237  void operator=(const vtkXMLPTableReader&) = delete;
238 };
239 
240 #endif
Store on/off settings for data arrays, etc.
a simple class to control print indentation
Definition: vtkIndent.h:119
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:183
Represents an XML element and those nested inside.
Superclass for PVTK XML file readers.
int ReadPiece(vtkXMLDataElement *ePiece, int index)
Setup the piece reader at the given index.
Read PVTK XML Table files.
void DestroyPieces() override
Delete all piece readers and related information.
int ColumnIsEnabled(vtkXMLDataElement *elementRowData)
Check whether the given array element is an enabled array.
vtkTable * GetPieceInputAsTable(int piece)
int GetColumnArrayStatus(const char *name)
Get/Set whether the column array with the given name is to be read.
void GetOutputUpdateExtent(int &piece, int &numberOfPieces)
Get the current piece index and the total number of piece in the dataset.
virtual vtkIdType GetNumberOfRowsInPiece(int piece)
Get the number of rows in the given piece.
vtkTable * GetOutput(int idx)
Get the reader's output.
void SetupUpdateExtent(int piece, int numberOfPieces)
Setup the extent for the parallel reader and the piece readers.
int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
void PieceProgressCallback() override
Callback registered with the PieceProgressObserver.
vtkTable * GetOutputAsTable()
vtkXMLDataElement * PRowElement
The PRowData element representations.
int ReadPieceData(int index)
Read piece at the given index RowData.
void SetupNextPiece()
Initialize the index of the first row to be read in the next piece.
void SetupOutputInformation(vtkInformation *outInfo) override
Setup the output's information.
int FillOutputPortInformation(int, vtkInformation *) override
Fill the output port information objects for this algorithm.
vtkTable * GetOutput()
Get the reader's output.
static vtkXMLPTableReader * New()
void ReadXMLData() override
Setup the readers and then read the input data.
const char * GetRowArrayName(int index)
vtkDataArraySelection * ColumnSelection
const char * GetDataSetName() override
Return the type of the dataset being read.
vtkIdType GetNumberOfRows()
Get the number of rows of the table.
int ReadPrimaryElement(vtkXMLDataElement *ePrimary) override
Pipeline execute data driver.
void SetColumnArrayStatus(const char *name, int status)
Get/Set whether the column array with the given name is to be read.
void SetupOutputTotals()
Initialize the total number of rows to be read.
int GetNumberOfColumnArrays()
Get the number of columns arrays available in the input.
int UpdatePieceId
The update request.
int ReadPiece(vtkXMLDataElement *ePiece) override
Setup the current piece reader.
void SetupOutputData() override
Initialize current output data: allocate arrays for RowData.
int CanReadPiece(int index) override
Whether or not the current reader can read the current piece.
void SetupEmptyOutput() override
Initialize current output.
void CopyOutputInformation(vtkInformation *outInfo, int port) override
For the specified port, copy the information this reader sets up in SetupOutputInformation to outInfo...
void SetupPieces(int numPieces) override
Setup the number of pieces to be read and allocate space accordingly.
int StartPiece
The range of pieces from the file that will form the UpdatePiece.
vtkXMLTableReader ** PieceReaders
int ReadPieceData()
Actually read the current piece data.
const char * GetColumnArrayName(int index)
Get the name of the column with the given index in the input.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkXMLTableReader * CreatePieceReader()
Create a reader according to the data to read.
~vtkXMLPTableReader() override
Read VTK XML Table files.
@ port
Definition: vtkX3D.h:453
@ name
Definition: vtkX3D.h:225
@ index
Definition: vtkX3D.h:252
int vtkIdType
Definition: vtkType.h:332