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