Prepends a pair of (node, edge) to this buffer.
Prepends a pair of (node, edge) to this buffer. The edge is selected
calling selectEdge
with the arguments node
and startNode
of
the correct buffer.
Prepends a (node, edge) pair to this buffer.
Prepends an edge to this buffer.
Prepends an edge to this buffer. The caller is responsible for correct order.
Prepends a node to this buffer.
Prepends a node to this buffer. The caller is responsible for correct order.
Iterator over the edges of this path.
Iterator over the edges of this path. The result is chached on the first call, so consecutive calls of this method are cheep.
Iterator over all edges of this path in proper order.
List containing all edges of this path in proper order.
List containing all edges of this path in proper order.
The first edge found having its tail at from
and its head at to
and satisfying navigation.edgeFilter
.
The first edge found having its tail at from
and its head at to
and satisfying navigation.edgeFilter
.
The caller must guarantee that there is at least one connecting edge
between from
and to
with navigation.edgeFilter
.
This simplest select method can be passed to +=: (node, selectEdge)
whenever any of possibly several edges between the two nodes
satisfies the needs of the algorithm.
Returns whether the contents of this path are valid with respect to path semantics.
Returns whether the contents of this path are valid with respect to path semantics. This check is appropriate whenever there may be any doubt about the correctness of the result of an algorithm.
The number of edges on this path.
The number of edges on this path.
The edge with minimal weight having its tail at from
and its head at to
and satisfying navigation.edgeFilter
.
The edge with minimal weight having its tail at from
and its head at to
and satisfying navigation.edgeFilter
.
The caller must guarantee that there is at least one connecting edge
between from
and to
with navigation.edgeFilter
.
This select method can be passed to +=: (node, selectEdge)
whenever the edge with the minimal weight between the two nodes
should be selected.
Iterator over the nodes of this path.
Iterator over the nodes of this path. The result is chached on the first call, so consecutive calls of this method are cheep.
Iterator over all nodes of this path in proper order.
List containing all nodes of this path in proper order.
List containing all nodes of this path in proper order.
(Changed in version 2.9.0) The behavior of scanRight
has changed. The previous behavior can be reproduced with scanRight.reverse.
(Changed in version 2.9.0) transpose
throws an IllegalArgumentException
if collections are not uniformly sized.
The cumulated weight of all edges on this path.
The cumulated weight of all edges on this path.
(Since version 2.10.0) use fold instead
Serves as a buffer to be populated by graph algorithms yielding a
Path
. The provided functionality is meant to help graph algorithm developers by providing abstractions over ListBuffer.