VTK  9.0.1
vtkPDataSetReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPDataSetReader.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 =========================================================================*/
23 #ifndef vtkPDataSetReader_h
24 #define vtkPDataSetReader_h
25 
26 #include "vtkDataSetAlgorithm.h"
27 #include "vtkIOParallelModule.h" // For export macro
28 
29 class vtkDataSet;
30 
31 class VTKIOPARALLEL_EXPORT vtkPDataSetReader : public vtkDataSetAlgorithm
32 {
33 public:
34  void PrintSelf(ostream& os, vtkIndent indent) override;
36  static vtkPDataSetReader* New();
37 
39 
42  vtkSetStringMacro(FileName);
43  vtkGetStringMacro(FileName);
45 
47 
51  vtkGetMacro(DataType, int);
53 
57  int CanReadFile(const char* filename);
58 
59 protected:
61  ~vtkPDataSetReader() override;
62 
63  int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
64  vtkInformationVector* outputVector) override;
65  void ReadPVTKFileInformation(istream* fp, vtkInformation* request,
66  vtkInformationVector** inputVector, vtkInformationVector* outputVector);
67  void ReadVTKFileInformation(vtkInformation* request, vtkInformationVector** inputVector,
68  vtkInformationVector* outputVector);
69 
71 
73  int PolyDataExecute(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
74  int UnstructuredGridExecute(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
75  int ImageDataExecute(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
76  int StructuredGridExecute(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
77 
78  void CoverExtent(int ext[6], int* pieceMask);
79 
80  vtkDataSet* CheckOutput();
81  void SetNumberOfPieces(int num);
82 
83  istream* OpenFile(const char*);
84 
85  int ReadXML(istream* file, char** block, char** param, char** value);
88  char* FileName;
89  int DataType;
92  int** PieceExtents;
93 
94 private:
95  vtkPDataSetReader(const vtkPDataSetReader&) = delete;
96  void operator=(const vtkPDataSetReader&) = delete;
97 };
98 
99 #endif
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:33
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks the algorithm to do its work.
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks for Information.
Store zero or more vtkInformation instances.
Superclass for algorithms that produce output of the same type as input.
virtual int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called within ProcessRequest to when a request asks the algorithm to create empty output data...
Manages reading pieces of a data set.
static vtkDataSetAlgorithm * New()