VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkTreeDFSIterator.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 =========================================================================*/ 00015 /*------------------------------------------------------------------------- 00016 Copyright 2008 Sandia Corporation. 00017 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00018 the U.S. Government retains certain rights in this software. 00019 -------------------------------------------------------------------------*/ 00040 #ifndef __vtkTreeDFSIterator_h 00041 #define __vtkTreeDFSIterator_h 00042 00043 #include "vtkCommonDataModelModule.h" // For export macro 00044 #include "vtkTreeIterator.h" 00045 00046 class vtkTreeDFSIteratorInternals; 00047 class vtkIntArray; 00048 00049 class VTKCOMMONDATAMODEL_EXPORT vtkTreeDFSIterator : public vtkTreeIterator 00050 { 00051 public: 00052 static vtkTreeDFSIterator* New(); 00053 vtkTypeMacro(vtkTreeDFSIterator, vtkTreeIterator); 00054 virtual void PrintSelf(ostream& os, vtkIndent indent); 00055 00056 //BTX 00057 enum ModeType 00058 { 00059 DISCOVER, 00060 FINISH 00061 }; 00062 //ETX 00063 00065 00070 void SetMode(int mode); 00071 vtkGetMacro(Mode, int); 00073 00074 protected: 00075 vtkTreeDFSIterator(); 00076 ~vtkTreeDFSIterator(); 00077 00078 virtual void Initialize(); 00079 virtual vtkIdType NextInternal(); 00080 00081 int Mode; 00082 vtkIdType CurRoot; 00083 vtkTreeDFSIteratorInternals* Internals; 00084 vtkIntArray* Color; 00085 00086 //BTX 00087 enum ColorType 00088 { 00089 WHITE, 00090 GRAY, 00091 BLACK 00092 }; 00093 //ETX 00094 00095 private: 00096 vtkTreeDFSIterator(const vtkTreeDFSIterator &); // Not implemented. 00097 void operator=(const vtkTreeDFSIterator &); // Not implemented. 00098 }; 00099 00100 00101 #endif 00102