Skip to content

Commit 0397a03

Browse files
author
Peter
committed
skip shortcuts with same flags and nodes but larger weight as existing shortcut
1 parent 829e913 commit 0397a03

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

core/src/main/java/com/graphhopper/routing/ch/PrepareContractionHierarchies.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -632,6 +632,7 @@ int addShortcuts( int v )
632632
shortcuts.clear();
633633
findShortcuts(addScHandler.setNode(v));
634634
int tmpNewShortcuts = 0;
635+
NEXT_SC:
635636
for (Shortcut sc : shortcuts.keySet())
636637
{
637638
boolean updatedInGraph = false;
@@ -640,9 +641,11 @@ int addShortcuts( int v )
640641
while (iter.next())
641642
{
642643
if (iter.isShortcut() && iter.getAdjNode() == sc.to
643-
&& prepareEncoder.canBeOverwritten(iter.getFlags(), sc.flags)
644-
&& prepareWeighting.calcWeight(iter) > sc.weight)
644+
&& prepareEncoder.canBeOverwritten(iter.getFlags(), sc.flags))
645645
{
646+
if (sc.weight >= prepareWeighting.calcWeight(iter))
647+
continue NEXT_SC;
648+
646649
iter.setFlags(sc.flags);
647650
iter.setSkippedEdges(sc.skippedEdge1, sc.skippedEdge2);
648651
iter.setDistance(sc.dist);

0 commit comments

Comments
 (0)