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 "vtkTreeIterator.h" 00044 00045 class vtkTreeDFSIteratorInternals; 00046 class vtkIntArray; 00047 00048 class VTK_FILTERING_EXPORT vtkTreeDFSIterator : public vtkTreeIterator 00049 { 00050 public: 00051 static vtkTreeDFSIterator* New(); 00052 vtkTypeMacro(vtkTreeDFSIterator, vtkTreeIterator); 00053 virtual void PrintSelf(ostream& os, vtkIndent indent); 00054 00055 //BTX 00056 enum ModeType 00057 { 00058 DISCOVER, 00059 FINISH 00060 }; 00061 //ETX 00062 00064 00069 void SetMode(int mode); 00070 vtkGetMacro(Mode, int); 00072 00073 protected: 00074 vtkTreeDFSIterator(); 00075 ~vtkTreeDFSIterator(); 00076 00077 virtual void Initialize(); 00078 virtual vtkIdType NextInternal(); 00079 00080 int Mode; 00081 vtkIdType CurRoot; 00082 vtkTreeDFSIteratorInternals* Internals; 00083 vtkIntArray* Color; 00084 00085 //BTX 00086 enum ColorType 00087 { 00088 WHITE, 00089 GRAY, 00090 BLACK 00091 }; 00092 //ETX 00093 00094 private: 00095 vtkTreeDFSIterator(const vtkTreeDFSIterator &); // Not implemented. 00096 void operator=(const vtkTreeDFSIterator &); // Not implemented. 00097 }; 00098 00099 00100 #endif 00101