VTK  9.1.20211115
vtkDataObjectTree.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkDataObjectTree.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 vtkDataObjectTree_h
34 #define vtkDataObjectTree_h
35 
36 #include "vtkCommonDataModelModule.h" // For export macro
37 #include "vtkCompositeDataSet.h"
38 
42 class vtkInformation;
44 class vtkDataObject;
45 
46 class VTKCOMMONDATAMODEL_EXPORT vtkDataObjectTree : public vtkCompositeDataSet
47 {
48 public:
50  void PrintSelf(ostream& os, vtkIndent indent) override;
51 
56 
65 
71  void CopyStructure(vtkCompositeDataSet* input) override;
72 
79  void SetDataSet(vtkCompositeDataIterator* iter, vtkDataObject* dataObj) override;
80 
85 
93 
103 
111 
116  unsigned long GetActualMemorySize() override;
117 
121  void Initialize() override;
122 
124 
127  void ShallowCopy(vtkDataObject* src) override;
128  void DeepCopy(vtkDataObject* src) override;
129  void RecursiveShallowCopy(vtkDataObject* src) override;
131 
138 
145 
147 
153 
157  int GetDataObjectType() override { return VTK_DATA_OBJECT_TREE; }
158 
159 protected:
161  ~vtkDataObjectTree() override;
162 
166  void SetNumberOfChildren(unsigned int num);
167 
171  unsigned int GetNumberOfChildren();
172 
177  void SetChild(unsigned int index, vtkDataObject*);
178 
182  void RemoveChild(unsigned int index);
183 
187  vtkDataObject* GetChild(unsigned int index);
188 
195 
200 
205  int HasChildMetaData(unsigned int index);
206 
214 
215  // The internal datastructure. Subclasses need not access this directly.
217 
219 
220 private:
221  vtkDataObjectTree(const vtkDataObjectTree&) = delete;
222  void operator=(const vtkDataObjectTree&) = delete;
223 };
224 
225 #endif
superclass for composite data iterators
abstract superclass for composite (multi-block or AMR) datasets
superclass for composite data iterators
provides implementation for most abstract methods in the superclass vtkCompositeDataSet
static vtkDataObjectTree * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
virtual vtkDataObjectTree * CreateForCopyStructure(vtkDataObjectTree *other)
When copying structure from another vtkDataObjectTree, this method gets called for create a new non-l...
void SetChildMetaData(unsigned int index, vtkInformation *info)
Sets the meta-data at a given index.
virtual vtkInformation * GetMetaData(vtkCompositeDataIterator *iter)
Returns the meta-data associated with the position pointed by the iterator.
void RecursiveShallowCopy(vtkDataObject *src) override
Shallow and Deep copy.
void SetDataSet(vtkCompositeDataIterator *iter, vtkDataObject *dataObj) override
Sets the data set at the location pointed by the iterator.
static vtkDataObjectTree * GetData(vtkInformationVector *v, int i=0)
Retrieve an instance of this class from an information object.
vtkIdType GetNumberOfCells() override
Returns the total number of cells of all blocks.
vtkDataObjectTreeInternals * Internals
vtkInformation * GetChildMetaData(unsigned int index)
Returns the meta-data at a given index.
vtkDataObject * GetDataSet(vtkCompositeDataIterator *iter) override
Returns the dataset located at the positiong pointed by the iterator.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void Initialize() override
Restore data object to initial state,.
void DeepCopy(vtkDataObject *src) override
Shallow and Deep copy.
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
void SetChild(unsigned int index, vtkDataObject *)
Set child dataset at a given index.
virtual int HasMetaData(vtkCompositeDataIterator *iter)
Returns if any meta-data associated with the position pointed by the iterator.
unsigned int GetNumberOfChildren()
Get the number of children.
vtkIdType GetNumberOfPoints() override
Returns the total number of points of all blocks.
void SetDataSetFrom(vtkDataObjectTreeIterator *iter, vtkDataObject *dataObj)
Sets the data at the location provided by a vtkDataObjectTreeIterator.
void SetNumberOfChildren(unsigned int num)
Set the number of children.
void CopyStructure(vtkCompositeDataSet *input) override
Copies the tree structure from the input.
vtkCompositeDataIterator * NewIterator() override
Return a new iterator (the iterator has to be deleted by user).
int HasChildMetaData(unsigned int index)
Returns if meta-data information is available for the given child index.
~vtkDataObjectTree() override
int GetDataObjectType() override
Overridden to return VTK_DATA_OBJECT_TREE.
void RemoveChild(unsigned int index)
Remove the child at a given index.
virtual vtkDataObjectTreeIterator * NewTreeIterator()
Return a new iterator (the iterator has to be deleted by user).
void ShallowCopy(vtkDataObject *src) override
Shallow and Deep copy.
vtkDataObject * GetChild(unsigned int index)
Returns a child dataset at a given index.
general representation of visualization data
a simple class to control print indentation
Definition: vtkIndent.h:113
Key for string values in vtkInformation.
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
@ info
Definition: vtkX3D.h:382
@ index
Definition: vtkX3D.h:252
#define VTK_DATA_OBJECT_TREE
Definition: vtkType.h:118
int vtkIdType
Definition: vtkType.h:332
#define VTK_NEWINSTANCE