VTK
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) VTK_OVERRIDE;
51 
55  virtual vtkDataObjectTreeIterator* NewTreeIterator();
56 
65 
71  void CopyStructure(vtkCompositeDataSet* input) VTK_OVERRIDE;
72 
79  void SetDataSet(vtkCompositeDataIterator* iter,
80  vtkDataObject* dataObj) VTK_OVERRIDE;
81 
85  void SetDataSetFrom(vtkDataObjectTreeIterator* iter, vtkDataObject* dataObj);
86 
93  vtkDataObject* GetDataSet(vtkCompositeDataIterator* iter) VTK_OVERRIDE;
94 
103  virtual vtkInformation* GetMetaData(vtkCompositeDataIterator* iter);
104 
111  virtual int HasMetaData(vtkCompositeDataIterator* iter);
112 
117  unsigned long GetActualMemorySize() VTK_OVERRIDE;
118 
122  void Initialize() VTK_OVERRIDE;
123 
125 
128  void ShallowCopy(vtkDataObject *src) VTK_OVERRIDE;
129  void DeepCopy(vtkDataObject *src) VTK_OVERRIDE;
131 
137  vtkIdType GetNumberOfPoints() VTK_OVERRIDE;
138 
140 
143  static vtkDataObjectTree* GetData(vtkInformation* info);
144  static vtkDataObjectTree* GetData(vtkInformationVector* v, int i=0);
146 
147 protected:
149  ~vtkDataObjectTree() VTK_OVERRIDE;
150 
154  void SetNumberOfChildren(unsigned int num);
155 
159  unsigned int GetNumberOfChildren();
160 
165  void SetChild(unsigned int index, vtkDataObject*);
166 
170  void RemoveChild(unsigned int index);
171 
175  vtkDataObject* GetChild(unsigned int num);
176 
182  vtkInformation* GetChildMetaData(unsigned int index);
183 
187  void SetChildMetaData(unsigned int index, vtkInformation* info);
188 
193  int HasChildMetaData(unsigned int index);
194 
195  // The internal datastructure. Subclasses need not access this directly.
197 
199 
200 private:
201  vtkDataObjectTree(const vtkDataObjectTree&) VTK_DELETE_FUNCTION;
202  void operator=(const vtkDataObjectTree&) VTK_DELETE_FUNCTION;
203 
204 };
205 
206 #endif
virtual VTK_NEWINSTANCE vtkCompositeDataIterator * NewIterator()=0
Return a new iterator (the iterator has to be deleted by user).
provides implementation for most abstract methods in the superclass vtkCompositeDataSet ...
Store vtkAlgorithm input/output information.
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
int vtkIdType
Definition: vtkType.h:287
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:39
#define VTK_NEWINSTANCE
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Store zero or more vtkInformation instances.
superclass for composite data iterators
general representation of visualization data
Definition: vtkDataObject.h:64