00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCompositeDataSetInternals.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00019 #ifndef __vtkCompositeDataSetInternals_h 00020 #define __vtkCompositeDataSetInternals_h 00021 00022 #include "vtkDataObject.h" 00023 #include "vtkInformation.h" 00024 #include "vtkSmartPointer.h" 00025 00026 #include <vtkstd/vector> 00027 00028 //----------------------------------------------------------------------------- 00029 // Item in the VectorOfDataObjects. 00030 struct vtkCompositeDataSetItem 00031 { 00032 vtkSmartPointer<vtkDataObject> DataObject; 00033 vtkSmartPointer<vtkInformation> MetaData; 00034 00035 vtkCompositeDataSetItem(vtkDataObject* dobj =0, vtkInformation* info=0) 00036 { 00037 this->DataObject = dobj; 00038 this->MetaData = info; 00039 } 00040 }; 00041 00042 //----------------------------------------------------------------------------- 00043 class vtkCompositeDataSetInternals 00044 { 00045 public: 00046 typedef vtkstd::vector<vtkCompositeDataSetItem> VectorOfDataObjects; 00047 typedef VectorOfDataObjects::iterator Iterator; 00048 typedef VectorOfDataObjects::reverse_iterator ReverseIterator; 00049 00050 VectorOfDataObjects Children; 00051 }; 00052 00053 00054 //----------------------------------------------------------------------------- 00055 class vtkCompositeDataSetIndex : public vtkstd::vector<unsigned int> 00056 { 00057 int IsValid() 00058 { 00059 return (this->size()> 0); 00060 } 00061 }; 00062 00063 #endif 00064 00065