VTK  9.3.1
vtkEdgeListIterator.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
28 #ifndef vtkEdgeListIterator_h
29 #define vtkEdgeListIterator_h
30 
31 #include "vtkCommonDataModelModule.h" // For export macro
32 #include "vtkObject.h"
33 
34 VTK_ABI_NAMESPACE_BEGIN
35 class vtkGraph;
36 class vtkGraphEdge;
37 
38 struct vtkEdgeType;
39 struct vtkOutEdgeType;
40 
41 class VTKCOMMONDATAMODEL_EXPORT vtkEdgeListIterator : public vtkObject
42 {
43 public:
44  static vtkEdgeListIterator* New();
46  void PrintSelf(ostream& os, vtkIndent indent) override;
47 
48  vtkGetObjectMacro(Graph, vtkGraph);
49  virtual void SetGraph(vtkGraph* graph);
50 
54  vtkEdgeType Next();
55 
63  vtkGraphEdge* NextGraphEdge();
64 
68  bool HasNext();
69 
70 protected:
72  ~vtkEdgeListIterator() override;
73 
74  void Increment();
75 
80  bool Directed;
82 
83 private:
85  void operator=(const vtkEdgeListIterator&) = delete;
86 };
87 
88 VTK_ABI_NAMESPACE_END
89 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:51
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
const vtkOutEdgeType * Current
Iterates through all edges in a graph.
Representation of a single graph edge.
Definition: vtkGraphEdge.h:24
int vtkIdType
Definition: vtkType.h:315
Base class for graph data types.
Definition: vtkGraph.h:280
a simple class to control print indentation
Definition: vtkIndent.h:28
vtkGraphEdge * GraphEdge
const vtkOutEdgeType * End
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...