VTK
vtkXMLPUnstructuredDataReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkXMLPUnstructuredDataReader.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 =========================================================================*/
26 #ifndef vtkXMLPUnstructuredDataReader_h
27 #define vtkXMLPUnstructuredDataReader_h
28 
29 #include "vtkIOXMLModule.h" // For export macro
30 #include "vtkXMLPDataReader.h"
31 
32 class vtkPointSet;
33 class vtkCellArray;
35 
36 class VTKIOXML_EXPORT vtkXMLPUnstructuredDataReader : public vtkXMLPDataReader
37 {
38 public:
40  void PrintSelf(ostream& os, vtkIndent indent) override;
41 
42  // For the specified port, copy the information this reader sets up in
43  // SetupOutputInformation to outInfo
44  void CopyOutputInformation(vtkInformation *outInfo, int port) override;
45 
46 protected:
49 
51  vtkInformationVector **inputVector,
52  vtkInformationVector *outputVector) override;
53 
54 
55  vtkPointSet* GetOutputAsPointSet();
56  vtkPointSet* GetPieceInputAsPointSet(int piece);
57  virtual void SetupOutputTotals();
58  virtual void SetupNextPiece();
59  vtkIdType GetNumberOfPoints() override;
60  vtkIdType GetNumberOfCells() override;
61  void CopyArrayForPoints(vtkDataArray* inArray, vtkDataArray* outArray) override;
62 
63  void SetupEmptyOutput() override;
64 
65  // Setup the output's information.
66  void SetupOutputInformation(vtkInformation *outInfo) override;
67 
68  void SetupOutputData() override;
69  virtual void GetOutputUpdateExtent(int& piece, int& numberOfPieces,
70  int& ghostLevel)=0;
71 
72  // Pipeline execute data driver. Called by vtkXMLReader.
73  void ReadXMLData() override;
74  int ReadPrimaryElement(vtkXMLDataElement* ePrimary) override;
75  void SetupUpdateExtent(int piece, int numberOfPieces, int ghostLevel);
76 
77  int ReadPieceData() override;
78  void CopyCellArray(vtkIdType totalNumberOfCells, vtkCellArray* inCells,
79  vtkCellArray* outCells);
80 
81  // Get the number of points/cells in the given piece. Valid after
82  // UpdateInformation.
83  virtual vtkIdType GetNumberOfPointsInPiece(int piece);
84  virtual vtkIdType GetNumberOfCellsInPiece(int piece);
85 
86  // The update request.
90 
91  // The range of pieces from the file that will form the UpdatePiece.
93  int EndPiece;
97 
98  // The PPoints element with point information.
100 
101 private:
103  void operator=(const vtkXMLPUnstructuredDataReader&) = delete;
104 };
105 
106 #endif
virtual vtkIdType GetNumberOfPoints()=0
virtual void SetupEmptyOutput()=0
Represents an XML element and those nested inside.
Store vtkAlgorithm input/output information.
void SetupOutputInformation(vtkInformation *outInfo) override
Pipeline execute information driver.
virtual vtkIdType GetNumberOfCells()=0
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
abstract class for specifying dataset behavior
Definition: vtkPointSet.h:42
Superclass for unstructured data XML readers.
virtual void ReadXMLData()
int vtkIdType
Definition: vtkType.h:347
int ReadPrimaryElement(vtkXMLDataElement *ePrimary) override
Read the information relative to the dataset and allocate the needed structures according to it...
void CopyOutputInformation(vtkInformation *outInfo, int port) override
For the specified port, copy the information this reader sets up in SetupOutputInformation to outInfo...
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual void CopyArrayForPoints(vtkDataArray *inArray, vtkDataArray *outArray)=0
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
Superclass for parallel unstructured data XML readers.
Superclass for PVTK XML file readers that read vtkDataSets.
virtual int ReadPieceData()
Actually read the current piece data.
object to represent cell connectivity
Definition: vtkCellArray.h:50
Store zero or more vtkInformation instances.
void SetupOutputData() override
Initialize the output data.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.