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 =========================================================================*/
32 #ifndef vtkDataObjectTree_h
33 #define vtkDataObjectTree_h
34 
35 #include "vtkCommonDataModelModule.h" // For export macro
36 #include "vtkCompositeDataSet.h"
37 
41 class vtkInformation;
43 class vtkDataObject;
44 
46 {
47 public:
49  void PrintSelf(ostream& os, vtkIndent indent);
50 
52  virtual vtkDataObjectTreeIterator* NewTreeIterator();
53 
59 
63  virtual void CopyStructure(vtkCompositeDataSet* input);
64 
69  virtual void SetDataSet(vtkCompositeDataIterator* iter, vtkDataObject* dataObj);
70 
72  void SetDataSetFrom(vtkDataObjectTreeIterator* iter, vtkDataObject* dataObj);
73 
79 
86  virtual vtkInformation* GetMetaData(vtkCompositeDataIterator* iter);
87 
92  virtual int HasMetaData(vtkCompositeDataIterator* iter);
93 
96  virtual unsigned long GetActualMemorySize();
97 
99  virtual void Initialize();
100 
102 
103  virtual void ShallowCopy(vtkDataObject *src);
104  virtual void DeepCopy(vtkDataObject *src);
106 
110  virtual vtkIdType GetNumberOfPoints();
111 
112  //BTX
114 
116  static vtkDataObjectTree* GetData(vtkInformationVector* v, int i=0);
117  //ETX
119 
120 //BTX
121 protected:
124 
126  void SetNumberOfChildren(unsigned int num);
127 
129  unsigned int GetNumberOfChildren();
130 
133  void SetChild(unsigned int index, vtkDataObject*);
134 
136  void RemoveChild(unsigned int index);
137 
139  vtkDataObject* GetChild(unsigned int num);
140 
144  vtkInformation* GetChildMetaData(unsigned int index);
145 
147  void SetChildMetaData(unsigned int index, vtkInformation* info);
148 
151  int HasChildMetaData(unsigned int index);
152 
153  // The internal datastructure. Subclasses need not access this directly.
155 
157 
158 private:
159  vtkDataObjectTree(const vtkDataObjectTree&); // Not implemented.
160  void operator=(const vtkDataObjectTree&); // Not implemented.
161 //ETX
162 };
163 
164 #endif
virtual void ShallowCopy(vtkDataObject *src)
virtual unsigned long GetActualMemorySize()
virtual void DeepCopy(vtkDataObject *src)
virtual vtkIdType GetNumberOfPoints()
provides implementation for most abstract methods in the superclass vtkCompositeDataSet ...
Store vtkAlgorithm input/output information.
void PrintSelf(ostream &os, vtkIndent indent)
vtkDataObjectTreeInternals * Internals
int vtkIdType
Definition: vtkType.h:275
Key for string values in vtkInformation.
superclass for composite data iterators
virtual void SetDataSet(vtkCompositeDataIterator *iter, vtkDataObject *dataObj)=0
abstract superclass for composite (multi-block or AMR) datasets
a simple class to control print indentation
Definition: vtkIndent.h:38
static vtkCompositeDataSet * GetData(vtkInformation *info)
virtual void CopyStructure(vtkCompositeDataSet *input)=0
virtual vtkDataObject * GetDataSet(vtkCompositeDataIterator *iter)=0
virtual void Initialize()
Store zero or more vtkInformation instances.
superclass for composite data iterators
general representation of visualization data
Definition: vtkDataObject.h:64
virtual vtkCompositeDataIterator * NewIterator()=0
#define VTKCOMMONDATAMODEL_EXPORT