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 
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 
84 
89  unsigned long GetActualMemorySize() override;
90 
92 
98 
102  void Initialize() override;
103 
105 
108  void ShallowCopy(vtkDataObject* src) override;
109  void DeepCopy(vtkDataObject* src) override;
111 
118 
125 
130 
140  void GetBounds(double bounds[6]);
141 
146 
155 
156 protected:
159 
160 private:
161  vtkCompositeDataSet(const vtkCompositeDataSet&) = delete;
162  void operator=(const vtkCompositeDataSet&) = delete;
163 };
164 
165 #endif
superclass for composite data iterators
abstract superclass for composite (multi-block or AMR) datasets
~vtkCompositeDataSet() override
virtual vtkIdType GetNumberOfCells()
Returns the total number of cells of all blocks.
virtual void SetDataSet(vtkCompositeDataIterator *iter, vtkDataObject *dataObj)=0
Sets the data set at the location pointed by the iterator.
void GetBounds(double bounds[6])
Return the geometric bounding box in the form (xmin,xmax, ymin,ymax, zmin,zmax).
static vtkInformationStringKey * NAME()
Key used to put node name in the meta-data associated with a node.
virtual void CopyStructure(vtkCompositeDataSet *input)=0
Copies the tree structure from the input.
vtkIdType GetNumberOfElements(int type) override
Get the number of elements for a specific attribute type (POINT, CELL, etc.).
virtual vtkIdType GetNumberOfPoints()
Returns the total number of points of all blocks.
static vtkCompositeDataSet * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
static vtkCompositeDataSet * GetData(vtkInformationVector *v, int i=0)
virtual vtkCompositeDataIterator * NewIterator()=0
Return a new iterator (the iterator has to be deleted by user).
virtual vtkDataObject * GetDataSet(vtkCompositeDataIterator *iter)=0
Returns the dataset located at the positiong pointed by the iterator.
void DeepCopy(vtkDataObject *src) override
int GetDataObjectType() override
Return class name of data type (see vtkType.h for definitions).
static vtkInformationIntegerKey * CURRENT_PROCESS_CAN_LOAD_BLOCK()
Key used to indicate that the current process can load the data in the node.
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 ShallowCopy(vtkDataObject *src) override
Shallow and Deep copy.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
general representation of visualization data
Definition: vtkDataObject.h:60
a simple class to control print indentation
Definition: vtkIndent.h:34
Key for integer values in vtkInformation.
Key for string values in vtkInformation.
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
@ info
Definition: vtkX3D.h:382
@ type
Definition: vtkX3D.h:522
int vtkIdType
Definition: vtkType.h:338
#define VTK_COMPOSITE_DATA_SET
Definition: vtkType.h:96
#define VTK_NEWINSTANCE