VTK
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 =========================================================================*/
32 #ifndef __vtkCompositeDataSet_h
33 #define __vtkCompositeDataSet_h
34 
35 #include "vtkDataObject.h"
36 
37 class vtkCompositeDataIterator;
39 class vtkInformation;
41 
43 {
44 public:
46  void PrintSelf(ostream& os, vtkIndent indent);
47 
49  virtual vtkCompositeDataIterator* NewIterator();
50 
52  virtual int GetDataObjectType() {return VTK_COMPOSITE_DATA_SET;}
53 
55  virtual vtkAlgorithmOutput* GetProducerPort();
56 
60  virtual void CopyStructure(vtkCompositeDataSet* input);
61 
66  virtual void SetDataSet(vtkCompositeDataIterator* iter, vtkDataObject* dataObj);
67 
72  virtual vtkDataObject* GetDataSet(vtkCompositeDataIterator* iter);
73 
80  virtual vtkInformation* GetMetaData(vtkCompositeDataIterator* iter);
81 
86  virtual int HasMetaData(vtkCompositeDataIterator* iter);
87 
90  virtual unsigned long GetActualMemorySize();
91 
92  //BTX
94 
95  static vtkCompositeDataSet* GetData(vtkInformation* info);
96  static vtkCompositeDataSet* GetData(vtkInformationVector* v, int i=0);
97  //ETX
99 
101  virtual void Initialize();
102 
104 
105  virtual void ShallowCopy(vtkDataObject *src);
106  virtual void DeepCopy(vtkDataObject *src);
108 
112  virtual vtkIdType GetNumberOfPoints();
113 
115  static vtkInformationStringKey* NAME();
116 
117 //BTX
118 protected:
121 
123  void SetNumberOfChildren(unsigned int num);
124 
126  unsigned int GetNumberOfChildren();
127 
130  void SetChild(unsigned int index, vtkDataObject*);
131 
133  void RemoveChild(unsigned int index);
134 
136  vtkDataObject* GetChild(unsigned int num);
137 
141  vtkInformation* GetChildMetaData(unsigned int index);
142 
144  void SetChildMetaData(unsigned int index, vtkInformation* info);
145 
148  int HasChildMetaData(unsigned int index);
149 
150  // The internal datastructure. Subclasses need not access this directly.
152 
153  friend class vtkCompositeDataIterator;
154 private:
155  vtkCompositeDataSet(const vtkCompositeDataSet&); // Not implemented.
156  void operator=(const vtkCompositeDataSet&); // Not implemented.
157 //ETX
158 };
159 
160 #endif
161 
162 
vtkCompositeDataSetInternals * Internals
Store vtkAlgorithm input/output information.
#define VTK_FILTERING_EXPORT
#define VTK_COMPOSITE_DATA_SET
Definition: vtkType.h:77
int vtkIdType
Definition: vtkType.h:255
Key for string values in vtkInformation.
Proxy object to connect input/output ports.
abstract superclass for composite (multi-block or AMR) datasets
a simple class to control print indentation
Definition: vtkIndent.h:37
Store zero or more vtkInformation instances.
helper class to get VTK data object types as string and instantiate them
virtual int GetDataObjectType()