VTK
dox
Common
DataModel
vtkOutEdgeIterator.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkOutEdgeIterator.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
-------------------------------------------------------------------------*/
41
#ifndef vtkOutEdgeIterator_h
42
#define vtkOutEdgeIterator_h
43
44
#include "vtkCommonDataModelModule.h"
// For export macro
45
#include "
vtkObject.h
"
46
47
#include "
vtkGraph.h
"
// For edge type definitions
48
49
class
vtkGraphEdge
;
50
51
class
VTKCOMMONDATAMODEL_EXPORT
vtkOutEdgeIterator
:
public
vtkObject
52
{
53
public
:
54
static
vtkOutEdgeIterator
*
New
();
55
vtkTypeMacro(
vtkOutEdgeIterator
,
vtkObject
);
56
void
PrintSelf
(ostream& os,
vtkIndent
indent) VTK_OVERRIDE;
57
61
void
Initialize(
vtkGraph
*g,
vtkIdType
v);
62
64
67
vtkGetObjectMacro(Graph,
vtkGraph
);
68
vtkGetMacro(Vertex,
vtkIdType
);
70
72
75
inline
vtkOutEdgeType
Next
()
76
{
77
vtkOutEdgeType
e = *this->Current;
78
++this->Current;
79
return
e;
80
}
82
90
vtkGraphEdge
*NextGraphEdge();
91
95
bool
HasNext
()
96
{
97
return
this->Current != this->End;
98
}
99
100
protected
:
101
vtkOutEdgeIterator
();
102
~
vtkOutEdgeIterator
() VTK_OVERRIDE;
103
108
virtual
void
SetGraph(
vtkGraph
*graph);
109
110
vtkGraph
*Graph;
111
const
vtkOutEdgeType
*Current;
112
const
vtkOutEdgeType
*End;
113
vtkIdType
Vertex;
114
vtkGraphEdge
*GraphEdge;
115
116
private:
117
vtkOutEdgeIterator
(const
vtkOutEdgeIterator
&) VTK_DELETE_FUNCTION;
118
void
operator=(const
vtkOutEdgeIterator
&) VTK_DELETE_FUNCTION;
119
};
120
121
#endif
vtkOutEdgeIterator::Next
vtkOutEdgeType Next()
Returns the next edge in the graph.
Definition:
vtkOutEdgeIterator.h:75
vtkIdType
int vtkIdType
Definition:
vtkType.h:287
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
vtkGraphEdge
Representation of a single graph edge.
Definition:
vtkGraphEdge.h:39
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:39
vtkOutEdgeIterator::HasNext
bool HasNext()
Whether this iterator has more edges.
Definition:
vtkOutEdgeIterator.h:95
vtkOutEdgeIterator
Iterates through all outgoing edges from a vertex.
Definition:
vtkOutEdgeIterator.h:51
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
vtkOutEdgeType
Definition:
vtkGraph.h:258
vtkGraph
Base class for graph data types.
Definition:
vtkGraph.h:287
Generated by
1.8.17