VTK
dox
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
-------------------------------------------------------------------------*/
37
#ifndef vtkAdjacentVertexIterator_h
38
#define vtkAdjacentVertexIterator_h
39
40
#include "vtkCommonDataModelModule.h"
// For export macro
41
#include "
vtkObject.h
"
42
43
#include "
vtkGraph.h
"
// For edge type definitions
44
45
class
vtkGraphEdge
;
46
47
class
VTKCOMMONDATAMODEL_EXPORT
vtkAdjacentVertexIterator
:
public
vtkObject
48
{
49
public
:
50
static
vtkAdjacentVertexIterator
*
New
();
51
vtkTypeMacro(
vtkAdjacentVertexIterator
,
vtkObject
);
52
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
53
57
void
Initialize(
vtkGraph
*g,
vtkIdType
v);
58
60
63
vtkGetObjectMacro(Graph,
vtkGraph
);
64
vtkGetMacro(Vertex,
vtkIdType
);
66
68
71
vtkIdType
Next
()
72
{
73
vtkOutEdgeType
e = *this->Current;
74
++this->Current;
75
return
e.
Target
;
76
}
78
82
bool
HasNext
()
83
{
84
return
this->Current != this->End;
85
}
86
87
protected
:
88
vtkAdjacentVertexIterator
();
89
~
vtkAdjacentVertexIterator
()
override
;
90
95
virtual
void
SetGraph(
vtkGraph
*graph);
96
97
vtkGraph
*
Graph
;
98
const
vtkOutEdgeType
*
Current
;
99
const
vtkOutEdgeType
*
End
;
100
vtkIdType
Vertex
;
101
102
private
:
103
vtkAdjacentVertexIterator
(
const
vtkAdjacentVertexIterator
&) =
delete
;
104
void
operator=(
const
vtkAdjacentVertexIterator
&) =
delete
;
105
};
106
107
#endif
vtkAdjacentVertexIterator::HasNext
bool HasNext()
Whether this iterator has more edges.
Definition:
vtkAdjacentVertexIterator.h:82
vtkIdType
int vtkIdType
Definition:
vtkType.h:347
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:59
vtkOutEdgeType::Target
vtkIdType Target
Definition:
vtkGraph.h:264
vtkAdjacentVertexIterator::Next
vtkIdType Next()
Returns the next edge in the graph.
Definition:
vtkAdjacentVertexIterator.h:71
vtkGraphEdge
Representation of a single graph edge.
Definition:
vtkGraphEdge.h:39
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:39
vtkAdjacentVertexIterator::End
const vtkOutEdgeType * End
Definition:
vtkAdjacentVertexIterator.h:99
vtkAdjacentVertexIterator::Vertex
vtkIdType Vertex
Definition:
vtkAdjacentVertexIterator.h:100
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:47
vtkAdjacentVertexIterator::Current
const vtkOutEdgeType * Current
Definition:
vtkAdjacentVertexIterator.h:98
vtkOutEdgeType
Definition:
vtkGraph.h:258
vtkGraph
Base class for graph data types.
Definition:
vtkGraph.h:287
vtkAdjacentVertexIterator::Graph
vtkGraph * Graph
Definition:
vtkAdjacentVertexIterator.h:97
Generated by
1.8.16