VTK
9.0.20210117
Common
DataModel
vtkAdjacentVertexIterator.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkAdjacentVertexIterator.h
5
6
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7
All rights reserved.
8
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10
This software is distributed WITHOUT ANY WARRANTY; without even
11
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12
PURPOSE. See the above copyright notice for more information.
13
14
=========================================================================*/
15
/*-------------------------------------------------------------------------
16
Copyright 2008 Sandia Corporation.
17
Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18
the U.S. Government retains certain rights in this software.
19
-------------------------------------------------------------------------*/
34
#ifndef vtkAdjacentVertexIterator_h
35
#define vtkAdjacentVertexIterator_h
36
37
#include "vtkCommonDataModelModule.h"
// For export macro
38
#include "
vtkObject.h
"
39
40
#include "
vtkGraph.h
"
// For edge type definitions
41
42
class
vtkGraphEdge
;
43
44
class
VTKCOMMONDATAMODEL_EXPORT
vtkAdjacentVertexIterator
:
public
vtkObject
45
{
46
public
:
47
static
vtkAdjacentVertexIterator
*
New
();
48
vtkTypeMacro(
vtkAdjacentVertexIterator
,
vtkObject
);
49
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
50
54
void
Initialize(
vtkGraph
* g,
vtkIdType
v);
55
57
60
vtkGetObjectMacro(Graph,
vtkGraph
);
61
vtkGetMacro(Vertex,
vtkIdType
);
63
65
68
vtkIdType
Next
()
69
{
70
vtkOutEdgeType
e = *this->Current;
71
++this->Current;
72
return
e.
Target
;
73
}
75
79
bool
HasNext
() {
return
this->Current != this->End; }
80
81
protected
:
82
vtkAdjacentVertexIterator
();
83
~
vtkAdjacentVertexIterator
()
override
;
84
89
virtual
void
SetGraph(
vtkGraph
* graph);
90
91
vtkGraph
*
Graph
;
92
const
vtkOutEdgeType
*
Current
;
93
const
vtkOutEdgeType
*
End
;
94
vtkIdType
Vertex
;
95
96
private
:
97
vtkAdjacentVertexIterator
(
const
vtkAdjacentVertexIterator
&) =
delete
;
98
void
operator=(
const
vtkAdjacentVertexIterator
&) =
delete
;
99
};
100
101
#endif
vtkAdjacentVertexIterator::HasNext
bool HasNext()
Whether this iterator has more edges.
Definition:
vtkAdjacentVertexIterator.h:79
vtkIdType
int vtkIdType
Definition:
vtkType.h:330
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkObject
abstract base class for most VTK objects
Definition:
vtkObject.h:62
vtkOutEdgeType::Target
vtkIdType Target
Definition:
vtkGraph.h:262
vtkAdjacentVertexIterator::Next
vtkIdType Next()
Returns the next edge in the graph.
Definition:
vtkAdjacentVertexIterator.h:68
vtkGraphEdge
Representation of a single graph edge.
Definition:
vtkGraphEdge.h:39
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:33
vtkAdjacentVertexIterator::End
const vtkOutEdgeType * End
Definition:
vtkAdjacentVertexIterator.h:93
vtkAdjacentVertexIterator::Vertex
vtkIdType Vertex
Definition:
vtkAdjacentVertexIterator.h:94
vtkObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkGraph.h
vtkObject.h
vtkAdjacentVertexIterator
Iterates through adjacent vertices in a graph.
Definition:
vtkAdjacentVertexIterator.h:44
vtkAdjacentVertexIterator::Current
const vtkOutEdgeType * Current
Definition:
vtkAdjacentVertexIterator.h:92
vtkOutEdgeType
Definition:
vtkGraph.h:254
vtkGraph
Base class for graph data types.
Definition:
vtkGraph.h:289
vtkAdjacentVertexIterator::Graph
vtkGraph * Graph
Definition:
vtkAdjacentVertexIterator.h:91
Generated on Sun Jan 17 2021 21:28:02 for VTK by
1.8.16