VTK
dox
Common
DataModel
vtkInEdgeIterator.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkInEdgeIterator.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
-------------------------------------------------------------------------*/
38
#ifndef vtkInEdgeIterator_h
39
#define vtkInEdgeIterator_h
40
41
#include "vtkCommonDataModelModule.h"
// For export macro
42
#include "
vtkObject.h
"
43
44
#include "
vtkGraph.h
"
// For edge type definitions
45
46
class
vtkGraphEdge
;
47
48
class
VTKCOMMONDATAMODEL_EXPORT
vtkInEdgeIterator
:
public
vtkObject
49
{
50
public
:
51
static
vtkInEdgeIterator
*
New
();
52
vtkTypeMacro(
vtkInEdgeIterator
,
vtkObject
);
53
void
PrintSelf
(ostream& os,
vtkIndent
indent) VTK_OVERRIDE;
54
58
void
Initialize(
vtkGraph
*g,
vtkIdType
v);
59
61
64
vtkGetObjectMacro(Graph,
vtkGraph
);
65
vtkGetMacro(Vertex,
vtkIdType
);
67
69
72
inline
vtkInEdgeType
Next
()
73
{
74
vtkInEdgeType
e = *this->Current;
75
++this->Current;
76
return
e;
77
}
79
87
vtkGraphEdge
*NextGraphEdge();
88
92
bool
HasNext
()
93
{
94
return
this->Current != this->End;
95
}
96
97
protected
:
98
vtkInEdgeIterator
();
99
~
vtkInEdgeIterator
() VTK_OVERRIDE;
100
105
virtual
void
SetGraph(
vtkGraph
*graph);
106
107
vtkGraph
*Graph;
108
const
vtkInEdgeType
*Current;
109
const
vtkInEdgeType
*End;
110
vtkIdType
Vertex;
111
vtkGraphEdge
*GraphEdge;
112
113
private:
114
vtkInEdgeIterator
(const
vtkInEdgeIterator
&) VTK_DELETE_FUNCTION;
115
void
operator=(const
vtkInEdgeIterator
&) VTK_DELETE_FUNCTION;
116
};
117
118
#endif
vtkInEdgeIterator::Next
vtkInEdgeType Next()
Returns the next edge in the graph.
Definition:
vtkInEdgeIterator.h:72
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.
vtkInEdgeIterator::HasNext
bool HasNext()
Whether this iterator has more edges.
Definition:
vtkInEdgeIterator.h:92
vtkObject
abstract base class for most VTK objects
Definition:
vtkObject.h:59
vtkInEdgeIterator
Iterates through all incoming edges to a vertex.
Definition:
vtkInEdgeIterator.h:48
vtkInEdgeType
Definition:
vtkGraph.h:267
vtkGraphEdge
Representation of a single graph edge.
Definition:
vtkGraphEdge.h:39
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:39
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
vtkGraph
Base class for graph data types.
Definition:
vtkGraph.h:287
Generated by
1.8.17