VTK  9.1.0
vtkPartitionedDataSetCollection.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPartitionedDataSetCollection.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 =========================================================================*/
27 #ifndef vtkPartitionedDataSetCollection_h
28 #define vtkPartitionedDataSetCollection_h
29 
30 #include "vtkCommonDataModelModule.h" // For export macro
31 #include "vtkDataObjectTree.h"
32 
34 class vtkDataAssembly;
35 class vtkDataSet;
36 
37 class VTKCOMMONDATAMODEL_EXPORT vtkPartitionedDataSetCollection : public vtkDataObjectTree
38 {
39 public:
42  void PrintSelf(ostream& os, vtkIndent indent) override;
43 
49 
55  void SetNumberOfPartitionedDataSets(unsigned int numDataSets);
56 
60  unsigned int GetNumberOfPartitionedDataSets() const;
61 
66  vtkPartitionedDataSet* GetPartitionedDataSet(unsigned int idx) const;
67 
74  void SetPartitionedDataSet(unsigned int idx, vtkPartitionedDataSet* dataset);
75 
79  void RemovePartitionedDataSet(unsigned int idx);
80 
82 
85  void SetPartition(unsigned int idx, unsigned int partition, vtkDataObject* object);
86  vtkDataSet* GetPartition(unsigned int idx, unsigned int partition);
87  vtkDataObject* GetPartitionAsDataObject(unsigned int idx, unsigned int partition);
89 
93  unsigned int GetNumberOfPartitions(unsigned int idx) const;
94 
99  void SetNumberOfPartitions(unsigned int idx, unsigned int numPartitions);
100 
104  int HasMetaData(unsigned int idx) { return this->Superclass::HasChildMetaData(idx); }
105 
111  vtkInformation* GetMetaData(unsigned int idx) { return this->Superclass::GetChildMetaData(idx); }
112 
114 
119  vtkGetObjectMacro(DataAssembly, vtkDataAssembly);
122 
124 
129  unsigned int GetCompositeIndex(unsigned int idx) const;
130  unsigned int GetCompositeIndex(unsigned int idx, unsigned int partition) const;
132 
134 
140 
145  {
146  return this->Superclass::GetMetaData(iter);
147  }
148 
153  {
154  return this->Superclass::HasMetaData(iter);
155  }
156 
160  vtkMTimeType GetMTime() override;
161 
163 
166  void ShallowCopy(vtkDataObject* src) override;
167  void DeepCopy(vtkDataObject* src) override;
168  void CopyStructure(vtkCompositeDataSet* input) override;
169  void Initialize() override;
171 protected:
174 
181 
182 private:
184  void operator=(const vtkPartitionedDataSetCollection&) = delete;
185 
186  vtkDataAssembly* DataAssembly;
187 };
188 
189 #endif
vtkPartitionedDataSetCollection::GetPartition
vtkDataSet * GetPartition(unsigned int idx, unsigned int partition)
API to get/set partitions using a tuple index.
vtkPartitionedDataSetCollection::New
static vtkPartitionedDataSetCollection * New()
vtkDataAssembly
hierarchical representation to use with vtkPartitionedDataSetCollection
Definition: vtkDataAssembly.h:131
vtkPartitionedDataSet
composite dataset to encapsulates a dataset consisting of partitions.
Definition: vtkPartitionedDataSet.h:47
vtkDataObjectTree
provides implementation for most abstract methods in the superclass vtkCompositeDataSet
Definition: vtkDataObjectTree.h:47
vtkPartitionedDataSetCollection::GetData
static vtkPartitionedDataSetCollection * GetData(vtkInformationVector *v, int i=0)
Retrieve an instance of this class from an information object.
vtkPartitionedDataSetCollection::CopyStructure
void CopyStructure(vtkCompositeDataSet *input) override
Overridden to handle vtkDataAssembly.
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:145
vtkPartitionedDataSetCollection::GetDataObjectType
int GetDataObjectType() override
Return class name of data type (see vtkType.h for definitions).
Definition: vtkPartitionedDataSetCollection.h:48
vtkPartitionedDataSetCollection::RemovePartitionedDataSet
void RemovePartitionedDataSet(unsigned int idx)
Remove the given block from the dataset.
vtkPartitionedDataSetCollection::GetMTime
vtkMTimeType GetMTime() override
Overridden to include DataAssembly MTime.
vtkPartitionedDataSetCollection::SetPartition
void SetPartition(unsigned int idx, unsigned int partition, vtkDataObject *object)
API to get/set partitions using a tuple index.
VTK_PARTITIONED_DATA_SET_COLLECTION
#define VTK_PARTITIONED_DATA_SET_COLLECTION
Definition: vtkType.h:115
vtkPartitionedDataSetCollection::CreateForCopyStructure
vtkDataObjectTree * CreateForCopyStructure(vtkDataObjectTree *other) override
Overridden to create a vtkPartitionedDataSet whenever a vtkMultiPieceDataSet is encountered.
vtkCompositeDataSet
abstract superclass for composite (multi-block or AMR) datasets
Definition: vtkCompositeDataSet.h:68
vtkPartitionedDataSetCollection::SetDataAssembly
void SetDataAssembly(vtkDataAssembly *assembly)
DataAssembly provides a way to define hierarchical organization of partitioned-datasets.
vtkPartitionedDataSetCollection::GetMetaData
vtkInformation * GetMetaData(vtkCompositeDataIterator *iter) override
Unhiding superclass method.
Definition: vtkPartitionedDataSetCollection.h:144
vtkPartitionedDataSetCollection::SetPartitionedDataSet
void SetPartitionedDataSet(unsigned int idx, vtkPartitionedDataSet *dataset)
Sets the data object as the given block.
vtkPartitionedDataSetCollection::Initialize
void Initialize() override
Overridden to handle vtkDataAssembly.
vtkPartitionedDataSetCollection::~vtkPartitionedDataSetCollection
~vtkPartitionedDataSetCollection() override
vtkPartitionedDataSetCollection::DeepCopy
void DeepCopy(vtkDataObject *src) override
Overridden to handle vtkDataAssembly.
vtkPartitionedDataSetCollection::GetData
static vtkPartitionedDataSetCollection * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
vtkPartitionedDataSetCollection::HasMetaData
int HasMetaData(unsigned int idx)
Returns true if meta-data is available for a given block.
Definition: vtkPartitionedDataSetCollection.h:104
vtkPartitionedDataSetCollection::GetNumberOfPartitionedDataSets
unsigned int GetNumberOfPartitionedDataSets() const
Returns the number of blocks.
vtkPartitionedDataSetCollection::GetPartitionedDataSet
vtkPartitionedDataSet * GetPartitionedDataSet(unsigned int idx) const
Returns the block at the given index.
vtkCompositeDataIterator
superclass for composite data iterators
Definition: vtkCompositeDataIterator.h:36
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:113
vtkPartitionedDataSetCollection::GetCompositeIndex
unsigned int GetCompositeIndex(unsigned int idx) const
Returns the composite index (sometimes referred to as the flat-index) for either a partitioned datase...
vtkPartitionedDataSetCollection::GetNumberOfPartitions
unsigned int GetNumberOfPartitions(unsigned int idx) const
Returns the number of partitions in a partitioned dataset at the given index.
vtkPartitionedDataSetCollection::SetNumberOfPartitionedDataSets
void SetNumberOfPartitionedDataSets(unsigned int numDataSets)
Set the number of blocks.
vtkPartitionedDataSetCollection::vtkPartitionedDataSetCollection
vtkPartitionedDataSetCollection()
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:166
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:183
vtkX3D::info
@ info
Definition: vtkX3D.h:382
vtkPartitionedDataSetCollection::HasMetaData
int HasMetaData(vtkCompositeDataIterator *iter) override
Unhiding superclass method.
Definition: vtkPartitionedDataSetCollection.h:152
vtkPartitionedDataSetCollection::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPartitionedDataSetCollection::ShallowCopy
void ShallowCopy(vtkDataObject *src) override
Overridden to handle vtkDataAssembly.
vtkPartitionedDataSetCollection
Composite dataset that groups datasets as a collection.
Definition: vtkPartitionedDataSetCollection.h:38
vtkDataObjectTree.h
vtkPartitionedDataSetCollection::GetCompositeIndex
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...
vtkPartitionedDataSetCollection::GetPartitionAsDataObject
vtkDataObject * GetPartitionAsDataObject(unsigned int idx, unsigned int partition)
API to get/set partitions using a tuple index.
vtkPartitionedDataSetCollection::GetMetaData
vtkInformation * GetMetaData(unsigned int idx)
Returns the meta-data for the block.
Definition: vtkPartitionedDataSetCollection.h:111
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:169
vtkPartitionedDataSetCollection::SetNumberOfPartitions
void SetNumberOfPartitions(unsigned int idx, unsigned int numPartitions)
Set number of partitions at a given index.
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287