VTK
vtkXMLPDataReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkXMLPDataReader.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 vtkXMLPDataReader_h
28 #define vtkXMLPDataReader_h
29 
30 #include "vtkIOXMLModule.h" // For export macro
32 
33 class vtkDataArray;
34 class vtkDataSet;
35 class vtkXMLDataReader;
36 
37 class VTKIOXML_EXPORT vtkXMLPDataReader : public vtkXMLPDataObjectReader
38 {
39 public:
41  void PrintSelf(ostream& os, vtkIndent indent) override;
42 
47  void CopyOutputInformation(vtkInformation* outInfo, int port) override;
48 
49 protected:
51  ~vtkXMLPDataReader() override;
52 
53  // Re-use any superclass signatures that we don't override.
55 
59  void DestroyPieces() override;
60 
62 
63  virtual vtkIdType GetNumberOfCells() = 0;
64 
69 
73  void SetupOutputData() override;
74 
78  void SetupOutputInformation(vtkInformation* outInfo) override;
79 
83  void SetupPieces(int numPieces) override;
84 
88  int CanReadPiece(int index) override;
89 
94 
98  int ReadPiece(vtkXMLDataElement* ePiece) override;
99 
104 
108  virtual int ReadPieceData();
109 
113  int ReadPrimaryElement(vtkXMLDataElement* ePrimary) override;
114 
115  virtual void CopyArrayForPoints(vtkDataArray* inArray, vtkDataArray* outArray) = 0;
116  virtual void CopyArrayForCells(vtkDataArray* inArray, vtkDataArray* outArray) = 0;
117 
121  void PieceProgressCallback() override;
122 
127 
132 
138 
139 private:
140  vtkXMLPDataReader(const vtkXMLPDataReader&) = delete;
141  void operator=(const vtkXMLPDataReader&) = delete;
142 };
143 
144 #endif
vtkXMLPDataReader::GetPieceInputAsDataSet
vtkDataSet * GetPieceInputAsDataSet(int piece)
Get a given piece input as a dataset, return nullptr if there is none.
vtkXMLPDataObjectReader::ReadPiece
int ReadPiece(vtkXMLDataElement *ePiece, int index)
Setup the piece reader at the given index.
vtkXMLPDataObjectReader
Superclass for PVTK XML file readers.
Definition: vtkXMLPDataObjectReader.h:30
vtkXMLPDataReader::ReadPiece
int ReadPiece(vtkXMLDataElement *ePiece) override
Setup the current piece reader.
vtkIdType
int vtkIdType
Definition: vtkType.h:347
vtkXMLPDataReader::GhostLevel
int GhostLevel
The ghost level available on each input piece.
Definition: vtkXMLPDataReader.h:126
vtkXMLPDataReader::GetNumberOfPoints
virtual vtkIdType GetNumberOfPoints()=0
vtkXMLPDataReader::PCellDataElement
vtkXMLDataElement * PCellDataElement
Definition: vtkXMLPDataReader.h:137
vtkXMLPDataReader::SetupOutputInformation
void SetupOutputInformation(vtkInformation *outInfo) override
Pipeline execute information driver.
vtkDataArray
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:55
vtkXMLDataReader
Superclass for VTK XML file readers.
Definition: vtkXMLDataReader.h:36
vtkXMLPDataReader::GetNumberOfCells
virtual vtkIdType GetNumberOfCells()=0
vtkXMLPDataReader::CreatePieceReader
virtual vtkXMLDataReader * CreatePieceReader()=0
Create a reader according to the data to read.
vtkXMLPDataReader::~vtkXMLPDataReader
~vtkXMLPDataReader() override
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkXMLPDataReader::CopyArrayForPoints
virtual void CopyArrayForPoints(vtkDataArray *inArray, vtkDataArray *outArray)=0
vtkXMLPDataReader::PPointDataElement
vtkXMLDataElement * PPointDataElement
The PPointData and PCellData element representations.
Definition: vtkXMLPDataReader.h:136
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:40
vtkXMLPDataReader::vtkXMLPDataReader
vtkXMLPDataReader()
vtkXMLPDataReader::ReadPrimaryElement
int ReadPrimaryElement(vtkXMLDataElement *ePrimary) override
Read the information relative to the dataset and allocate the needed structures according to it.
vtkXMLPDataReader::CopyOutputInformation
void CopyOutputInformation(vtkInformation *outInfo, int port) override
For the specified port, copy the information this reader sets up in SetupOutputInformation to outInfo...
vtkXMLPDataReader::CanReadPiece
int CanReadPiece(int index) override
Whether or not the current reader can read the current piece.
vtkXMLDataElement
Represents an XML element and those nested inside.
Definition: vtkXMLDataElement.h:37
vtkXMLPDataReader::PieceReaders
vtkXMLDataReader ** PieceReaders
Information per-piece.
Definition: vtkXMLPDataReader.h:131
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:63
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:87
vtkXMLPDataReader::SetupPieces
void SetupPieces(int numPieces) override
Setup the number of pieces to be read and allocate space accordingly.
vtkXMLPDataReader::PieceProgressCallback
void PieceProgressCallback() override
Callback registered with the PieceProgressObserver.
vtkXMLPDataReader::ReadPieceData
virtual int ReadPieceData()
Actually read the current piece data.
vtkXMLPDataReader::ReadPieceData
int ReadPieceData(int index)
Actually read the piece at the given index data.
vtkXMLPDataReader::CopyArrayForCells
virtual void CopyArrayForCells(vtkDataArray *inArray, vtkDataArray *outArray)=0
vtkXMLPDataReader::SetupOutputData
void SetupOutputData() override
Initialize the output data.
vtkXMLPDataObjectReader.h
vtkXMLPDataReader
Superclass for PVTK XML file readers that read vtkDataSets.
Definition: vtkXMLPDataReader.h:38
vtkX3D::index
@ index
Definition: vtkX3D.h:246
vtkXMLPDataReader::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkXMLPDataReader::DestroyPieces
void DestroyPieces() override
Delete all piece readers and related information.