VTK  9.4.20241121
vtkCompositeDataSet.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
43#ifndef vtkCompositeDataSet_h
44#define vtkCompositeDataSet_h
45
46#include "vtkCommonDataModelModule.h" // For export macro
47#include "vtkDataObject.h"
48#include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_3_0
49#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
50
51#include <vector> // For GetDataSets
52
53VTK_ABI_NAMESPACE_BEGIN
55class vtkCompositeDataSetInternals;
56class vtkDataSet;
57class vtkInformation;
60
61class VTKCOMMONDATAMODEL_EXPORT VTK_MARSHALAUTO vtkCompositeDataSet : public vtkDataObject
62{
63public:
65 void PrintSelf(ostream& os, vtkIndent indent) override;
66
71
76 int GetDataObjectType() override { return VTK_COMPOSITE_DATA_SET; }
77
83 virtual void CopyStructure(vtkCompositeDataSet* input);
84
91 virtual void SetDataSet(vtkCompositeDataIterator* iter, vtkDataObject* dataObj) = 0;
92
100
109 virtual vtkDataObject* GetDataSet(unsigned int flatIndex);
110
115 unsigned long GetActualMemorySize() override;
116
118
124
128 void Initialize() override;
129
138
142 VTK_DEPRECATED_IN_9_3_0("Use ShallowCopy instead.")
143 virtual void RecursiveShallowCopy(vtkDataObject* src);
144
150 virtual vtkIdType GetNumberOfPoints();
151
157 virtual vtkIdType GetNumberOfCells();
158
162 vtkIdType GetNumberOfElements(int type) override;
163
173 void GetBounds(double bounds[6]);
174
179
187 static vtkInformationIntegerKey* CURRENT_PROCESS_CAN_LOAD_BLOCK();
188
199 template <class DataSetT = vtkDataSet>
200 static std::vector<DataSetT*> GetDataSets(vtkDataObject* dobj, bool preserveNull = false);
201
205 bool SupportsGhostArray(int type) override;
206
207protected:
210
211private:
213 void operator=(const vtkCompositeDataSet&) = delete;
214};
215
216VTK_ABI_NAMESPACE_END
217#include "vtkCompositeDataSet.txx" // for template implementations
218
219#endif
superclass for composite data iterators
abstract superclass for composite (multi-block or AMR) datasets
virtual vtkDataObject * GetDataSet(unsigned int flatIndex)
Returns the dataset located at the position pointed by the flatIndex.
virtual void SetDataSet(vtkCompositeDataIterator *iter, vtkDataObject *dataObj)=0
Sets the data set at the location pointed by the iterator.
virtual void CompositeShallowCopy(vtkCompositeDataSet *src)
The goal of the method is to copy the data up to the dataset pointers only.
static vtkCompositeDataSet * GetData(vtkInformationVector *v, int i=0)
Retrieve an instance of this class from an information object.
static vtkCompositeDataSet * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
virtual void CopyStructure(vtkCompositeDataSet *input)
Copies the tree structure from the input.
int GetDataObjectType() override
Return class name of data type (see vtkType.h for definitions).
virtual vtkDataObject * GetDataSet(vtkCompositeDataIterator *iter)=0
Returns the dataset located at the position pointed by the iterator.
void Initialize() override
Restore data object to initial state,.
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual vtkCompositeDataIterator * NewIterator()=0
Return a new iterator (the iterator has to be deleted by user).
general representation of visualization data
abstract class to specify dataset behavior
Definition vtkDataSet.h:166
a simple class to control print indentation
Definition vtkIndent.h:108
Key for integer values in vtkInformation.
Key for string values in vtkInformation.
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
#define VTK_DEPRECATED_IN_9_3_0(reason)
int vtkIdType
Definition vtkType.h:315
#define VTK_COMPOSITE_DATA_SET
Definition vtkType.h:76
#define VTK_MARSHALAUTO
#define VTK_NEWINSTANCE