VTK  9.0.1
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;
130 
137 
144 
146 
152 
153 protected:
155  ~vtkDataObjectTree() override;
156 
160  void SetNumberOfChildren(unsigned int num);
161 
165  unsigned int GetNumberOfChildren();
166 
171  void SetChild(unsigned int index, vtkDataObject*);
172 
176  void RemoveChild(unsigned int index);
177 
181  vtkDataObject* GetChild(unsigned int num);
182 
189 
194 
199  int HasChildMetaData(unsigned int index);
200 
201  // The internal datastructure. Subclasses need not access this directly.
203 
205 
206 private:
207  vtkDataObjectTree(const vtkDataObjectTree&) = delete;
208  void operator=(const vtkDataObjectTree&) = delete;
209 };
210 
211 #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.
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 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)
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
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.
vtkDataObject * GetChild(unsigned int num)
Returns a child dataset at a given index.
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
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.
general representation of visualization data
Definition: vtkDataObject.h:60
a simple class to control print indentation
Definition: vtkIndent.h:34
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
int vtkIdType
Definition: vtkType.h:338
#define VTK_NEWINSTANCE