VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkInformationIterator.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 =========================================================================*/ 00029 #ifndef vtkInformationIterator_h 00030 #define vtkInformationIterator_h 00031 00032 #include "vtkCommonCoreModule.h" // For export macro 00033 #include "vtkObject.h" 00034 00035 class vtkInformation; 00036 class vtkInformationKey; 00037 class vtkInformationIteratorInternals; 00038 00039 class VTKCOMMONCORE_EXPORT vtkInformationIterator : public vtkObject 00040 { 00041 public: 00042 static vtkInformationIterator *New(); 00043 vtkTypeMacro(vtkInformationIterator,vtkObject); 00044 void PrintSelf(ostream& os, vtkIndent indent); 00045 00047 00048 void SetInformation(vtkInformation*); 00049 vtkGetObjectMacro(Information, vtkInformation); 00051 00055 void SetInformationWeak(vtkInformation*); 00056 00058 void InitTraversal() { this->GoToFirstItem(); } 00059 00061 virtual void GoToFirstItem(); 00062 00064 virtual void GoToNextItem(); 00065 00068 virtual int IsDoneWithTraversal(); 00069 00072 virtual vtkInformationKey* GetCurrentKey(); 00073 00074 protected: 00075 vtkInformationIterator(); 00076 ~vtkInformationIterator(); 00077 00078 vtkInformation* Information; 00079 vtkInformationIteratorInternals* Internal; 00080 00081 bool ReferenceIsWeak; 00082 00083 private: 00084 vtkInformationIterator(const vtkInformationIterator&); // Not implemented. 00085 void operator=(const vtkInformationIterator&); // Not implemented. 00086 }; 00087 00088 #endif