00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkHierarchicalDataIterator.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00027 #ifndef __vtkHierarchicalDataIterator_h 00028 #define __vtkHierarchicalDataIterator_h 00029 00030 #include "vtkCompositeDataIterator.h" 00031 00032 class vtkHierarchicalDataSet; 00033 class vtkHierarchicalDataIteratorInternal; 00034 00035 class VTK_COMMON_EXPORT vtkHierarchicalDataIterator : public vtkCompositeDataIterator 00036 { 00037 public: 00038 static vtkHierarchicalDataIterator *New(); 00039 00040 vtkTypeRevisionMacro(vtkHierarchicalDataIterator,vtkCompositeDataIterator); 00041 void PrintSelf(ostream& os, vtkIndent indent); 00042 00044 virtual void GoToFirstItem(); 00045 00047 virtual void GoToNextItem(); 00048 00051 virtual int IsDoneWithTraversal(); 00052 00055 virtual vtkDataObject* GetCurrentDataObject(); 00056 00058 00059 void SetDataSet(vtkHierarchicalDataSet* dataset); 00060 vtkGetObjectMacro(DataSet, vtkHierarchicalDataSet); 00062 00063 protected: 00064 vtkHierarchicalDataIterator(); 00065 virtual ~vtkHierarchicalDataIterator(); 00066 00067 vtkHierarchicalDataSet* DataSet; 00068 vtkHierarchicalDataIteratorInternal* Internal; 00069 00070 private: 00071 vtkHierarchicalDataIterator(const vtkHierarchicalDataIterator&); // Not implemented. 00072 void operator=(const vtkHierarchicalDataIterator&); // Not implemented. 00073 }; 00074 00075 #endif 00076