VTK  9.3.0
vtkPartitionedDataSetCollection.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
18 #ifndef vtkPartitionedDataSetCollection_h
19 #define vtkPartitionedDataSetCollection_h
20 
21 #include "vtkCommonDataModelModule.h" // For export macro
22 #include "vtkDataObjectTree.h"
23 
24 VTK_ABI_NAMESPACE_BEGIN
26 class vtkDataAssembly;
27 class vtkDataSet;
28 
29 class VTKCOMMONDATAMODEL_EXPORT vtkPartitionedDataSetCollection : public vtkDataObjectTree
30 {
31 public:
34  void PrintSelf(ostream& os, vtkIndent indent) override;
35 
41 
47  void SetNumberOfPartitionedDataSets(unsigned int numDataSets);
48 
52  unsigned int GetNumberOfPartitionedDataSets() const;
53 
58  vtkPartitionedDataSet* GetPartitionedDataSet(unsigned int idx) const;
59 
66  void SetPartitionedDataSet(unsigned int idx, vtkPartitionedDataSet* dataset);
67 
71  void RemovePartitionedDataSet(unsigned int idx);
72 
74 
77  void SetPartition(unsigned int idx, unsigned int partition, vtkDataObject* object);
78  vtkDataSet* GetPartition(unsigned int idx, unsigned int partition);
79  vtkDataObject* GetPartitionAsDataObject(unsigned int idx, unsigned int partition);
81 
85  unsigned int GetNumberOfPartitions(unsigned int idx) const;
86 
91  void SetNumberOfPartitions(unsigned int idx, unsigned int numPartitions);
92 
96  vtkTypeBool HasMetaData(unsigned int idx) { return this->Superclass::HasChildMetaData(idx); }
97 
103  vtkInformation* GetMetaData(unsigned int idx) { return this->Superclass::GetChildMetaData(idx); }
104 
106 
111  vtkGetObjectMacro(DataAssembly, vtkDataAssembly);
114 
116 
121  unsigned int GetCompositeIndex(unsigned int idx) const;
122  unsigned int GetCompositeIndex(unsigned int idx, unsigned int partition) const;
124 
126 
132 
137  {
138  return this->Superclass::GetMetaData(iter);
139  }
140 
145  {
146  return this->Superclass::HasMetaData(iter);
147  }
148 
152  vtkMTimeType GetMTime() override;
153 
155 
159  void ShallowCopy(vtkDataObject* src) override;
160  void DeepCopy(vtkDataObject* src) override;
161  void CopyStructure(vtkCompositeDataSet* input) override;
162  void Initialize() override;
164 protected:
167 
174 
175 private:
177  void operator=(const vtkPartitionedDataSetCollection&) = delete;
178 
179  vtkDataAssembly* DataAssembly;
180 };
181 
182 VTK_ABI_NAMESPACE_END
183 #endif
superclass for composite data iterators
abstract superclass for composite (multi-block or AMR) datasets
hierarchical representation to use with vtkPartitionedDataSetCollection
provides implementation for most abstract methods in the superclass vtkCompositeDataSet
general representation of visualization data
Definition: vtkDataObject.h:55
abstract class to specify dataset behavior
Definition: vtkDataSet.h:53
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 groups datasets as a collection.
unsigned int GetNumberOfPartitionedDataSets() const
Returns the number of blocks.
void CopyStructure(vtkCompositeDataSet *input) override
Overridden to handle vtkDataAssembly.
unsigned int GetNumberOfPartitions(unsigned int idx) const
Returns the number of partitions in a partitioned dataset at the given index.
void RemovePartitionedDataSet(unsigned int idx)
Remove the given block from the dataset.
vtkDataSet * GetPartition(unsigned int idx, unsigned int partition)
API to get/set partitions using a tuple index.
unsigned int GetCompositeIndex(unsigned int idx, unsigned int partition) const
Returns the composite index (sometimes referred to as the flat-index) for either a partitioned datase...
vtkTypeBool HasMetaData(unsigned int idx)
Returns true if meta-data is available for a given block.
void SetNumberOfPartitionedDataSets(unsigned int numDataSets)
Set the number of blocks.
vtkDataObject * GetPartitionAsDataObject(unsigned int idx, unsigned int partition)
API to get/set partitions using a tuple index.
static vtkPartitionedDataSetCollection * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
static vtkPartitionedDataSetCollection * New()
static vtkPartitionedDataSetCollection * GetData(vtkInformationVector *v, int i=0)
Retrieve an instance of this class from an information object.
vtkTypeBool HasMetaData(vtkCompositeDataIterator *iter) override
Unhiding superclass method.
void ShallowCopy(vtkDataObject *src) override
Overridden to handle vtkDataAssembly.
void SetPartitionedDataSet(unsigned int idx, vtkPartitionedDataSet *dataset)
Sets the data object as the given block.
void DeepCopy(vtkDataObject *src) override
Overridden to handle vtkDataAssembly.
void SetPartition(unsigned int idx, unsigned int partition, vtkDataObject *object)
API to get/set partitions using a tuple index.
vtkDataObjectTree * CreateForCopyStructure(vtkDataObjectTree *other) override
Overridden to create a vtkPartitionedDataSet whenever a vtkMultiPieceDataSet is encountered.
void CompositeShallowCopy(vtkCompositeDataSet *src) override
Overridden to handle vtkDataAssembly.
vtkPartitionedDataSet * GetPartitionedDataSet(unsigned int idx) const
Returns the block at the given index.
void SetDataAssembly(vtkDataAssembly *assembly)
DataAssembly provides a way to define hierarchical organization of partitioned-datasets.
unsigned int GetCompositeIndex(unsigned int idx) const
Returns the composite index (sometimes referred to as the flat-index) for either a partitioned datase...
vtkInformation * GetMetaData(vtkCompositeDataIterator *iter) override
Unhiding superclass method.
void Initialize() override
Overridden to handle vtkDataAssembly.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetNumberOfPartitions(unsigned int idx, unsigned int numPartitions)
Set number of partitions at a given index.
vtkMTimeType GetMTime() override
Overridden to include DataAssembly MTime.
vtkInformation * GetMetaData(unsigned int idx)
Returns the meta-data for the block.
int GetDataObjectType() override
Return class name of data type (see vtkType.h for definitions).
composite dataset to encapsulates a dataset consisting of partitions.
@ info
Definition: vtkX3D.h:376
int vtkTypeBool
Definition: vtkABI.h:64
#define VTK_PARTITIONED_DATA_SET_COLLECTION
Definition: vtkType.h:103
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270