00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkInformationIterator.h,v $ 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 =========================================================================*/ 00026 #ifndef __vtkInformationIterator_h 00027 #define __vtkInformationIterator_h 00028 00029 #include "vtkObject.h" 00030 00031 class vtkInformation; 00032 class vtkInformationKey; 00033 00034 class VTK_COMMON_EXPORT vtkInformationIterator : public vtkObject 00035 { 00036 public: 00037 static vtkInformationIterator *New(); 00038 vtkTypeRevisionMacro(vtkInformationIterator,vtkObject); 00039 void PrintSelf(ostream& os, vtkIndent indent); 00040 00042 00043 void SetInformation(vtkInformation*); 00044 vtkGetObjectMacro(Information, vtkInformation); 00046 00048 void InitTraversal() { this->GoToFirstItem(); } 00049 00051 virtual void GoToFirstItem(); 00052 00054 virtual void GoToNextItem(); 00055 00058 virtual int IsDoneWithTraversal(); 00059 00062 virtual vtkInformationKey* GetCurrentKey(); 00063 00064 protected: 00065 vtkInformationIterator(); 00066 ~vtkInformationIterator(); 00067 00068 vtkInformation* Information; 00069 unsigned short Index; 00070 00071 private: 00072 vtkInformationIterator(const vtkInformationIterator&); // Not implemented. 00073 void operator=(const vtkInformationIterator&); // Not implemented. 00074 }; 00075 00076 #endif