VTK  9.4.20241031
vtkCompositeCellGridReader.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
14#ifndef vtkCompositeCellGridReader_h
15#define vtkCompositeCellGridReader_h
16
17#include "vtkIOCellGridModule.h" // For export macro
18#include "vtkReaderAlgorithm.h"
19#include "vtkSmartPointer.h" // For SmartPointer
20
21#include <string> // For std::string
22#include <vector> // For std::vector
23
24VTK_ABI_NAMESPACE_BEGIN
26class vtkFieldData;
27class vtkCellGridDocumentLoader;
28class vtkImageData;
29class vtkStringArray;
30
31class VTKIOCELLGRID_EXPORT vtkCompositeCellGridReader : public vtkReaderAlgorithm
32{
33public:
36 void PrintSelf(ostream& os, vtkIndent indent) override;
37
39
45
48
52
53protected:
56
57 int FillOutputPortInformation(int port, vtkInformation* info) override;
58
59 int ReadMetaData(vtkInformation* metadata) override;
60 int ReadMesh(int, int, int, int, vtkDataObject*) override;
61 int ReadPoints(int, int, int, int, vtkDataObject*) override;
62 int ReadArrays(int, int, int, int, vtkDataObject*) override;
63
65
66 struct FileGroup
67 {
68 std::vector<std::string> Files;
69 };
70
71 char* FileName = nullptr;
72 FileGroup Groups; // For now, the reader only supports a single group of files.
75 struct MetadataGuard; // Used to double-buffer Groups, CellTypeSelection, and
76 // CellAttributeSelection.
77 vtkTimeStamp MetadataTime; // The last time metadata was read from disk
78
79private:
81 void operator=(const vtkCompositeCellGridReader&) = delete;
82};
83
84VTK_ABI_NAMESPACE_END
85#endif
int ReadMetaData(vtkInformation *metadata) override
Provide meta-data for the pipeline.
vtkDataArraySelection * GetCellTypeSelection()
vtkGetFilePathMacro(FileName)
Set/Get the name of the file from which to read data.
vtkNew< vtkDataArraySelection > CellTypeSelection
~vtkCompositeCellGridReader() override
static vtkCompositeCellGridReader * New()
vtkSetFilePathMacro(FileName)
Set/Get the name of the file from which to read data.
int ReadMesh(int, int, int, int, vtkDataObject *) override
Read the mesh (connectivity) for a given set of data partitioning, number of ghost levels and time st...
int ReadArrays(int, int, int, int, vtkDataObject *) override
Read all the arrays (point, cell, field etc.).
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkNew< vtkDataArraySelection > CellAttributeSelection
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
vtkDataArraySelection * GetCellAttributeSelection()
vtkMTimeType GetMTime() override
Override GetMTime so we can indicate we are modified when the cell-type or cell-attribute array-selec...
int ReadPoints(int, int, int, int, vtkDataObject *) override
Read the points.
Store on/off settings for data arrays, etc.
general representation of visualization data
represent and manipulate fields of data
topologically and geometrically regular array of data
a simple class to control print indentation
Definition vtkIndent.h:108
Store vtkAlgorithm input/output information.
Allocate and hold a VTK object.
Definition vtkNew.h:167
Superclass for readers that implement a simplified API.
a vtkAbstractArray subclass for strings
record modification and/or execution time
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:270