1 /*=========================================================================
2 
3   Program:   Visualization Toolkit
4   Module:    vtkDataObjectTreeInternals.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 =========================================================================*/
15 /**
16  * @class   vtkDataObjectTreeInternals
17  *
18 */
19 
20 #ifndef vtkDataObjectTreeInternals_h
21 #define vtkDataObjectTreeInternals_h
22 
23 #include "vtkDataObject.h"
24 #include "vtkInformation.h"
25 #include "vtkSmartPointer.h"
26 
27 #include <vector>
28 
29 //-----------------------------------------------------------------------------
30 // Item in the VectorOfDataObjects.
31 struct vtkDataObjectTreeItem
32 {
33   vtkSmartPointer<vtkDataObject> DataObject;
34   vtkSmartPointer<vtkInformation> MetaData;
35 
36   vtkDataObjectTreeItem(vtkDataObject* dobj =nullptr, vtkInformation* info=nullptr)
37   {
38     this->DataObject = dobj;
39     this->MetaData = info;
40   }
41 };
42 
43 //-----------------------------------------------------------------------------
44 class vtkDataObjectTreeInternals
45 {
46 public:
47   typedef std::vector<vtkDataObjectTreeItem> VectorOfDataObjects;
48   typedef VectorOfDataObjects::iterator Iterator;
49   typedef VectorOfDataObjects::reverse_iterator ReverseIterator;
50 
51   VectorOfDataObjects Children;
52 };
53 
54 
55 //-----------------------------------------------------------------------------
56 class vtkDataObjectTreeIndex : public std::vector<unsigned int>
57 {
IsValid()58   int IsValid()
59   {
60     return (this->size()> 0);
61   }
62 };
63 
64 #endif
65 
66 
67 // VTK-HeaderTest-Exclude: vtkDataObjectTreeInternals.h
68