VTK  9.7.1
vtkCompositeDataReader.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
16 #ifndef vtkCompositeDataReader_h
17 #define vtkCompositeDataReader_h
18 
19 #include "vtkDataReader.h"
20 #include "vtkIOLegacyModule.h" // For export macro
21 
22 VTK_ABI_NAMESPACE_BEGIN
27 class vtkOverlappingAMR;
30 
31 class VTKIOLEGACY_EXPORT vtkCompositeDataReader : public vtkDataReader
32 {
33 public:
34  static vtkCompositeDataReader* New();
36  void PrintSelf(ostream& os, vtkIndent indent) override;
37 
39 
42  vtkCompositeDataSet* GetOutput();
43  vtkCompositeDataSet* GetOutput(int idx);
44  void SetOutput(vtkCompositeDataSet* output);
46 
50  int ReadMeshSimple(VTK_FILEPATH const std::string& fname, vtkDataObject* output) override;
51 
52 protected:
54  ~vtkCompositeDataReader() override;
55 
56  vtkDataObject* CreateOutput(vtkDataObject* currentOutput) override;
57 
58  int FillOutputPortInformation(int, vtkInformation*) override;
59 
63  int ReadOutputType();
64 
65  bool ReadCompositeData(vtkMultiPieceDataSet*);
66  bool ReadCompositeData(vtkMultiBlockDataSet*);
67  bool ReadCompositeData(vtkOverlappingAMR*);
68  bool ReadCompositeData(vtkPartitionedDataSet*);
69  bool ReadCompositeData(vtkPartitionedDataSetCollection*);
70  bool ReadCompositeData(vtkNonOverlappingAMR*);
71  vtkDataObject* ReadChild();
72 
73 private:
75  void operator=(const vtkCompositeDataReader&) = delete;
76 };
77 
78 VTK_ABI_NAMESPACE_END
79 #endif
composite dataset to encapsulates a dataset consisting of partitions.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Store vtkAlgorithm input/output information.
virtual vtkDataObject * CreateOutput(vtkDataObject *currentOutput)
This can be overridden by a subclass to create an output that is determined by the file being read...
read vtkCompositeDataSet data file.
int ReadMeshSimple(const std::string &, vtkDataObject *) override
Overridden with default implementation of doing nothing so that subclasses only override what is need...
static vtkDataReader * New()
A concrete instance of vtkAMRDataObject to store uniform grids at different levels of resolution that...
helper superclass for objects that read vtk data files
Definition: vtkDataReader.h:52
abstract superclass for composite (multi-block or AMR) datasets
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Fill the output port information objects for this algorithm.
a simple class to control print indentation
Definition: vtkIndent.h:28
composite dataset to encapsulates pieces of dataset.
#define VTK_FILEPATH
Composite dataset that organizes datasets into blocks.
a multi-resolution dataset based on vtkCartesianGrid allowing overlaps
general representation of visualization data
Definition: vtkDataObject.h:55
Composite dataset that groups datasets as a collection.