diff --git a/brouter-core/src/main/java/btools/router/OsmTrack.java b/brouter-core/src/main/java/btools/router/OsmTrack.java index 58739cb..a2989b1 100644 --- a/brouter-core/src/main/java/btools/router/OsmTrack.java +++ b/brouter-core/src/main/java/btools/router/OsmTrack.java @@ -390,11 +390,7 @@ public final class OsmTrack if ( turnInstructionMode == 2 ) { - int routeType = voiceHints.getLocusRouteType(); - if ( routeType != 4 ) // 4 = car = default seems to work better as default - { - sb.append( " " ).append( voiceHints.getLocusRouteType() ).append( "\n" ); - } + sb.append( " " ).append( voiceHints.getLocusRouteType() ).append( "\n" ); sb.append( " 1\n" ); } @@ -640,7 +636,7 @@ public final class OsmTrack public void processVoiceHints( RoutingContext rc ) { voiceHints = new VoiceHintList(); - voiceHints.setTransportMode( rc.carMode ); + voiceHints.setTransportMode( rc.carMode, rc.bikeMode ); voiceHints.turnInstructionMode = rc.turnInstructionMode; if ( detourMap == null ) diff --git a/brouter-core/src/main/java/btools/router/RoutingContext.java b/brouter-core/src/main/java/btools/router/RoutingContext.java index cbd387c..4d8f2bf 100644 --- a/brouter-core/src/main/java/btools/router/RoutingContext.java +++ b/brouter-core/src/main/java/btools/router/RoutingContext.java @@ -51,6 +51,7 @@ public final class RoutingContext implements DistanceChecker public int uphillcostdiv; public int uphillcutoff; public boolean carMode; + public boolean bikeMode; public boolean forceSecondaryData; public double pass1coefficient; public double pass2coefficient; @@ -63,6 +64,7 @@ public final class RoutingContext implements DistanceChecker public double changetime; public double buffertime; public double waittimeadjustment; + public double inittimeadjustment; public double starttimeoffset; public void readGlobalConfig( BExpressionContext expctxGlobal ) @@ -74,6 +76,8 @@ public final class RoutingContext implements DistanceChecker if ( downhillcostdiv != 0 ) downhillcostdiv = 1000000/downhillcostdiv; if ( uphillcostdiv != 0 ) uphillcostdiv = 1000000/uphillcostdiv; carMode = 0.f != expctxGlobal.getVariableValue( "validForCars", 0.f ); + bikeMode = 0.f != expctxGlobal.getVariableValue( "validForBikes", 0.f ); + forceSecondaryData = 0.f != expctxGlobal.getVariableValue( "forceSecondaryData", 0.f ); pass1coefficient = expctxGlobal.getVariableValue( "pass1coefficient", 1.5f ); pass2coefficient = expctxGlobal.getVariableValue( "pass2coefficient", 0.f ); @@ -86,6 +90,7 @@ public final class RoutingContext implements DistanceChecker changetime = expctxGlobal.getVariableValue( "changetime", 180.f ); buffertime = expctxGlobal.getVariableValue( "buffertime", 120.f ); waittimeadjustment = expctxGlobal.getVariableValue( "waittimeadjustment", 0.9f ); + inittimeadjustment = expctxGlobal.getVariableValue( "inittimeadjustment", 0.2f ); starttimeoffset = expctxGlobal.getVariableValue( "starttimeoffset", 0.f ); farTrafficWeight = expctxGlobal.getVariableValue( "farTrafficWeight", 2.f ); diff --git a/brouter-core/src/main/java/btools/router/VoiceHintList.java b/brouter-core/src/main/java/btools/router/VoiceHintList.java index a32e50e..1b717b7 100644 --- a/brouter-core/src/main/java/btools/router/VoiceHintList.java +++ b/brouter-core/src/main/java/btools/router/VoiceHintList.java @@ -15,9 +15,9 @@ public class VoiceHintList int turnInstructionMode; ArrayList list = new ArrayList(); - public void setTransportMode( boolean isCar ) + public void setTransportMode( boolean isCar, boolean isBike ) { - transportMode = isCar ? "car" : "bike"; + transportMode = isCar ? "car" : ( isBike ? "bike" : "foot" ); } public String getTransportMode() @@ -29,12 +29,12 @@ public class VoiceHintList { if ( "car".equals( transportMode ) ) { - return 4; + return 0; } if ( "bike".equals( transportMode ) ) { return 5; } - return 5; // ?? + return 3; // foot } }