VTK  9.0.1
vtkCompositeDataSet.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCompositeDataSet.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 =========================================================================*/
33 #ifndef vtkCompositeDataSet_h
34 #define vtkCompositeDataSet_h
35 
36 #include "vtkCommonDataModelModule.h" // For export macro
37 #include "vtkDataObject.h"
38 
40 class vtkCompositeDataSetInternals;
41 class vtkInformation;
44 
45 class VTKCOMMONDATAMODEL_EXPORT vtkCompositeDataSet : public vtkDataObject
46 {
47 public:
49  void PrintSelf(ostream& os, vtkIndent indent) override;
50 
54  virtual VTK_NEWINSTANCE vtkCompositeDataIterator* NewIterator() = 0;
55 
60  int GetDataObjectType() override { return VTK_COMPOSITE_DATA_SET; }
61 
67  virtual void CopyStructure(vtkCompositeDataSet* input) = 0;
68 
75  virtual void SetDataSet(vtkCompositeDataIterator* iter, vtkDataObject* dataObj) = 0;
76 
83  virtual vtkDataObject* GetDataSet(vtkCompositeDataIterator* iter) = 0;
84 
89  unsigned long GetActualMemorySize() override;
90 
92 
96  static vtkCompositeDataSet* GetData(vtkInformationVector* v, int i = 0);
98 
102  void Initialize() override;
103 
105 
108  void ShallowCopy(vtkDataObject* src) override;
109  void DeepCopy(vtkDataObject* src) override;
111 
117  virtual vtkIdType GetNumberOfPoints();
118 
124  virtual vtkIdType GetNumberOfCells();
125 
129  vtkIdType GetNumberOfElements(int type) override;
130 
140  void GetBounds(double bounds[6]);
141 
145  static vtkInformationStringKey* NAME();
146 
154  static vtkInformationIntegerKey* CURRENT_PROCESS_CAN_LOAD_BLOCK();
155 
156 protected:
158  ~vtkCompositeDataSet() override;
159 
160 private:
161  vtkCompositeDataSet(const vtkCompositeDataSet&) = delete;
162  void operator=(const vtkCompositeDataSet&) = delete;
163 };
164 
165 #endif
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkDataObject * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
Store vtkAlgorithm input/output information.
#define VTK_COMPOSITE_DATA_SET
Definition: vtkType.h:96
virtual void Initialize()
Restore data object to initial state,.
int vtkIdType
Definition: vtkType.h:338
Key for string values in vtkInformation.
superclass for composite data iterators
abstract superclass for composite (multi-block or AMR) datasets
a simple class to control print indentation
Definition: vtkIndent.h:33
Key for integer values in vtkInformation.
virtual unsigned long GetActualMemorySize()
Return the actual size of the data in kibibytes (1024 bytes).
#define VTK_NEWINSTANCE
virtual vtkIdType GetNumberOfElements(int type)
Get the number of elements for a specific attribute type (POINT, CELL, etc.).
int GetDataObjectType() override
Return class name of data type (see vtkType.h for definitions).
Store zero or more vtkInformation instances.
general representation of visualization data
Definition: vtkDataObject.h:59
virtual void DeepCopy(vtkDataObject *src)
Shallow and Deep copy.
virtual void ShallowCopy(vtkDataObject *src)
Shallow and Deep copy.