VTK  9.4.20251203
vtkMultiBlockDataSet.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
33#ifndef vtkMultiBlockDataSet_h
34#define vtkMultiBlockDataSet_h
35
36#include "vtkCommonDataModelModule.h" // For export macro
37#include "vtkDataObjectTree.h"
38#include "vtkWrappingHints.h" // For VTK_MARSHALMANUAL
39
40VTK_ABI_NAMESPACE_BEGIN
41class VTKCOMMONDATAMODEL_EXPORT VTK_MARSHALMANUAL vtkMultiBlockDataSet : public vtkDataObjectTree
42{
43public:
46 void PrintSelf(ostream& os, vtkIndent indent) override;
47
52 int GetDataObjectType() override { return VTK_MULTIBLOCK_DATA_SET; }
53
59 void SetNumberOfBlocks(unsigned int numBlocks);
60
64 unsigned int GetNumberOfBlocks();
65
70 vtkDataObject* GetBlock(unsigned int blockno);
71
81 void SetBlock(unsigned int blockno, vtkDataObject* block);
82
86 void RemoveBlock(unsigned int blockno);
87
91 vtkTypeBool HasMetaData(unsigned int blockno)
92 {
93 return this->Superclass::HasChildMetaData(blockno);
94 }
95
101 vtkInformation* GetMetaData(unsigned int blockno)
102 {
103 return this->Superclass::GetChildMetaData(blockno);
104 }
105
107
113
118 {
119 return this->Superclass::GetMetaData(iter);
120 }
121
126 {
127 return this->Superclass::HasMetaData(iter);
128 }
129
130protected:
133
140
141private:
143 void operator=(const vtkMultiBlockDataSet&) = delete;
144};
145
146VTK_ABI_NAMESPACE_END
147#endif
superclass for composite data iterators
provides implementation for most abstract methods in the superclass vtkCompositeDataSet
general representation of visualization data
a simple class to control print indentation
Definition vtkIndent.h:29
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Composite dataset that organizes datasets into blocks.
vtkInformation * GetMetaData(unsigned int blockno)
Returns the meta-data for the block.
vtkTypeBool HasMetaData(vtkCompositeDataIterator *iter) override
Unhiding superclass method.
static vtkMultiBlockDataSet * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
void SetNumberOfBlocks(unsigned int numBlocks)
Set the number of blocks.
void RemoveBlock(unsigned int blockno)
Remove the given block from the dataset.
int GetDataObjectType() override
Return class name of data type (see vtkType.h for definitions).
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTypeBool HasMetaData(unsigned int blockno)
Returns true if meta-data is available for a given block.
~vtkMultiBlockDataSet() override
vtkDataObjectTree * CreateForCopyStructure(vtkDataObjectTree *other) override
Overridden to create a vtkMultiPieceDataSet whenever a vtkPartitionedDataSet is encountered.
void SetBlock(unsigned int blockno, vtkDataObject *block)
Sets the data object as the given block.
unsigned int GetNumberOfBlocks()
Returns the number of blocks.
static vtkMultiBlockDataSet * New()
vtkInformation * GetMetaData(vtkCompositeDataIterator *iter) override
Unhiding superclass method.
static vtkMultiBlockDataSet * GetData(vtkInformationVector *v, int i=0)
Retrieve an instance of this class from an information object.
vtkDataObject * GetBlock(unsigned int blockno)
Returns the block at the given index.
int vtkTypeBool
Definition vtkABI.h:64
#define VTK_MULTIBLOCK_DATA_SET
Definition vtkType.h:78
#define VTK_MARSHALMANUAL