fix issue #1025:
- add function to count directed outgoing edges - generate correct instruction for staying on a roundabout - move test from @bug namespace to the general one
This commit is contained in:
parent
69ad3f3365
commit
9a2d701e2e
@ -728,7 +728,7 @@ TurnInstruction EdgeBasedGraphFactory::AnalyzeTurn(const NodeID u,
|
|||||||
if (data1.roundabout && data2.roundabout)
|
if (data1.roundabout && data2.roundabout)
|
||||||
{
|
{
|
||||||
// Is a turn possible? If yes, we stay on the roundabout!
|
// Is a turn possible? If yes, we stay on the roundabout!
|
||||||
if (1 == m_node_based_graph->GetOutDegree(v))
|
if (1 == m_node_based_graph->GetDirectedOutDegree(v))
|
||||||
{
|
{
|
||||||
// No turn possible.
|
// No turn possible.
|
||||||
return TurnInstruction::NoTurn;
|
return TurnInstruction::NoTurn;
|
||||||
|
@ -117,6 +117,19 @@ template <typename EdgeDataT> class DynamicGraph
|
|||||||
|
|
||||||
unsigned GetOutDegree(const NodeIterator n) const { return m_nodes[n].edges; }
|
unsigned GetOutDegree(const NodeIterator n) const { return m_nodes[n].edges; }
|
||||||
|
|
||||||
|
unsigned GetDirectedOutDegree(const NodeIterator n) const
|
||||||
|
{
|
||||||
|
unsigned degree = 0;
|
||||||
|
for(EdgeIterator edge = BeginEdges(n); edge < EndEdges(n); ++edge)
|
||||||
|
{
|
||||||
|
if (GetEdgeData(edge).forward)
|
||||||
|
{
|
||||||
|
++degree;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return degree;
|
||||||
|
}
|
||||||
|
|
||||||
NodeIterator GetTarget(const EdgeIterator e) const { return NodeIterator(m_edges[e].target); }
|
NodeIterator GetTarget(const EdgeIterator e) const { return NodeIterator(m_edges[e].target); }
|
||||||
|
|
||||||
void SetTarget(const EdgeIterator e, const NodeIterator n) { m_edges[e].target = n; }
|
void SetTarget(const EdgeIterator e, const NodeIterator n) { m_edges[e].target = n; }
|
||||||
|
@ -35,7 +35,6 @@ Feature: Roundabout Instructions
|
|||||||
| v | t | vd,tb | head,enter_roundabout-2,destination |
|
| v | t | vd,tb | head,enter_roundabout-2,destination |
|
||||||
| v | u | vd,uc | head,enter_roundabout-3,destination |
|
| v | u | vd,uc | head,enter_roundabout-3,destination |
|
||||||
|
|
||||||
@bug
|
|
||||||
Scenario: Testbot - Roundabout with oneway links
|
Scenario: Testbot - Roundabout with oneway links
|
||||||
Given the node map
|
Given the node map
|
||||||
| | | p | o | | |
|
| | | p | o | | |
|
||||||
|
Loading…
Reference in New Issue
Block a user