VTK  9.3.1
vtkTreeDFSIterator.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
3 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
25 #ifndef vtkTreeDFSIterator_h
26 #define vtkTreeDFSIterator_h
27 
28 #include "vtkCommonDataModelModule.h" // For export macro
29 #include "vtkTreeIterator.h"
30 
31 VTK_ABI_NAMESPACE_BEGIN
32 class vtkTreeDFSIteratorInternals;
33 class vtkIntArray;
34 
35 class VTKCOMMONDATAMODEL_EXPORT vtkTreeDFSIterator : public vtkTreeIterator
36 {
37 public:
38  static vtkTreeDFSIterator* New();
40  void PrintSelf(ostream& os, vtkIndent indent) override;
41 
42  enum ModeType
43  {
45  FINISH
46  };
47 
49 
57  void SetMode(int mode);
58  vtkGetMacro(Mode, int);
60 
61 protected:
63  ~vtkTreeDFSIterator() override;
64 
65  void Initialize() override;
66  vtkIdType NextInternal() override;
67 
68  int Mode;
70  vtkTreeDFSIteratorInternals* Internals;
72 
73  enum ColorType
74  {
77  BLACK
78  };
79 
80 private:
81  vtkTreeDFSIterator(const vtkTreeDFSIterator&) = delete;
82  void operator=(const vtkTreeDFSIterator&) = delete;
83 };
84 
85 VTK_ABI_NAMESPACE_END
86 #endif
Abstract class for iterator over a vtkTree.
virtual vtkIdType NextInternal()=0
vtkTreeDFSIteratorInternals * Internals
int vtkIdType
Definition: vtkType.h:315
depth first iterator through a vtkGraph
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:34
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual void Initialize()=0
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...