diff --git a/brouter-codec/pom.xml b/brouter-codec/pom.xml
index 6c3f1af..8825d77 100644
--- a/brouter-codec/pom.xml
+++ b/brouter-codec/pom.xml
@@ -5,7 +5,7 @@
org.btools
brouter
- 1.4
+ 1.4.1
../pom.xml
brouter-codec
diff --git a/brouter-core/pom.xml b/brouter-core/pom.xml
index e1f0c9e..bb0dd87 100644
--- a/brouter-core/pom.xml
+++ b/brouter-core/pom.xml
@@ -5,7 +5,7 @@
org.btools
brouter
- 1.4
+ 1.4.1
../pom.xml
brouter-core
diff --git a/brouter-core/src/main/java/btools/router/OsmTrack.java b/brouter-core/src/main/java/btools/router/OsmTrack.java
index 63da30e..aec6570 100644
--- a/brouter-core/src/main/java/btools/router/OsmTrack.java
+++ b/brouter-core/src/main/java/btools/router/OsmTrack.java
@@ -281,6 +281,7 @@ public final class OsmTrack
public int ascend;
public int plainAscend;
public int cost;
+ public long arrivaltime;
/**
* writes the track in gpx-format to a file
@@ -338,7 +339,7 @@ public final class OsmTrack
}
else
{
- sb.append( " creator=\"BRouter-1.4\" version=\"1.1\">\n" );
+ sb.append( " creator=\"BRouter-1.4.1\" version=\"1.1\">\n" );
}
if ( turnInstructionMode == 3) // osmand style
@@ -393,6 +394,7 @@ public final class OsmTrack
{
sb.append( " " ).append( voiceHints.getLocusRouteType() ).append( "\n" );
}
+ sb.append( " 1\n" );
}
sb.append( " \n" );
diff --git a/brouter-expressions/pom.xml b/brouter-expressions/pom.xml
index 2f0d6ca..d39ed4e 100644
--- a/brouter-expressions/pom.xml
+++ b/brouter-expressions/pom.xml
@@ -5,7 +5,7 @@
org.btools
brouter
- 1.4
+ 1.4.1
../pom.xml
brouter-expressions
diff --git a/brouter-expressions/src/main/java/btools/expressions/BExpression.java b/brouter-expressions/src/main/java/btools/expressions/BExpression.java
index a9957b4..f41b8b3 100644
--- a/brouter-expressions/src/main/java/btools/expressions/BExpression.java
+++ b/brouter-expressions/src/main/java/btools/expressions/BExpression.java
@@ -15,6 +15,10 @@ final class BExpression
private static final int GREATER_EXP = 24;
private static final int MIN_EXP = 25;
+ private static final int SUB_EXP = 26;
+ private static final int LESSER_EXP = 27;
+ private static final int XOR_EXP = 28;
+
private static final int SWITCH_EXP = 30;
private static final int ASSIGN_EXP = 31;
private static final int LOOKUP_EXP = 32;
@@ -115,6 +119,18 @@ final class BExpression
{
exp.typ = GREATER_EXP;
}
+ else if ( "sub".equals( operator ) )
+ {
+ exp.typ = SUB_EXP;
+ }
+ else if ( "lesser".equals( operator ) )
+ {
+ exp.typ = LESSER_EXP;
+ }
+ else if ( "xor".equals( operator ) )
+ {
+ exp.typ = XOR_EXP;
+ }
else
{
nops = 1; // check unary expressions
@@ -231,13 +247,16 @@ final class BExpression
switch( typ )
{
case OR_EXP: return op1.evaluate(ctx) != 0.f ? 1.f : ( op2.evaluate(ctx) != 0.f ? 1.f : 0.f );
+ case XOR_EXP: return ( (op1.evaluate(ctx) != 0.f) ^ ( op2.evaluate(ctx) != 0.f ) ? 1.f : 0.f );
case AND_EXP: return op1.evaluate(ctx) != 0.f ? ( op2.evaluate(ctx) != 0.f ? 1.f : 0.f ) : 0.f;
case ADD_EXP: return op1.evaluate(ctx) + op2.evaluate(ctx);
+ case SUB_EXP: return op1.evaluate(ctx) - op2.evaluate(ctx);
case MULTIPLY_EXP: return op1.evaluate(ctx) * op2.evaluate(ctx);
case MAX_EXP: return max( op1.evaluate(ctx), op2.evaluate(ctx) );
case MIN_EXP: return min( op1.evaluate(ctx), op2.evaluate(ctx) );
case EQUAL_EXP: return op1.evaluate(ctx) == op2.evaluate(ctx) ? 1.f : 0.f;
case GREATER_EXP: return op1.evaluate(ctx) > op2.evaluate(ctx) ? 1.f : 0.f;
+ case LESSER_EXP: return op1.evaluate(ctx) < op2.evaluate(ctx) ? 1.f : 0.f;
case SWITCH_EXP: return op1.evaluate(ctx) != 0.f ? op2.evaluate(ctx) : op3.evaluate(ctx);
case ASSIGN_EXP: return ctx.assign( variableIdx, op1.evaluate(ctx) );
case LOOKUP_EXP: return ctx.getLookupMatch( lookupNameIdx, lookupValueIdxArray );
diff --git a/brouter-map-creator/pom.xml b/brouter-map-creator/pom.xml
index 4bbd214..7c30c9d 100644
--- a/brouter-map-creator/pom.xml
+++ b/brouter-map-creator/pom.xml
@@ -5,7 +5,7 @@
org.btools
brouter
- 1.4
+ 1.4.1
../pom.xml
brouter-map-creator
diff --git a/brouter-mapaccess/pom.xml b/brouter-mapaccess/pom.xml
index c8bb7ff..beb0165 100644
--- a/brouter-mapaccess/pom.xml
+++ b/brouter-mapaccess/pom.xml
@@ -5,7 +5,7 @@
org.btools
brouter
- 1.4
+ 1.4.1
../pom.xml
brouter-mapaccess
diff --git a/brouter-mem-router/pom.xml b/brouter-mem-router/pom.xml
index 6bfa20d..fce9610 100644
--- a/brouter-mem-router/pom.xml
+++ b/brouter-mem-router/pom.xml
@@ -5,7 +5,7 @@
org.btools
brouter
- 1.4
+ 1.4.1
../pom.xml
brouter-mem-router
diff --git a/brouter-routing-app/AndroidManifest.xml b/brouter-routing-app/AndroidManifest.xml
index f9b1499..dd9da2f 100644
--- a/brouter-routing-app/AndroidManifest.xml
+++ b/brouter-routing-app/AndroidManifest.xml
@@ -1,8 +1,8 @@
+ android:versionCode="12"
+ android:versionName="1.4.1" package="btools.routingapp">
org.btools
brouter
- 1.4
+ 1.4.1
../pom.xml
brouter-routing-app
diff --git a/brouter-routing-app/src/main/java/btools/routingapp/BRouterView.java b/brouter-routing-app/src/main/java/btools/routingapp/BRouterView.java
index b159218..f2ff6ef 100644
--- a/brouter-routing-app/src/main/java/btools/routingapp/BRouterView.java
+++ b/brouter-routing-app/src/main/java/btools/routingapp/BRouterView.java
@@ -680,7 +680,7 @@ public class BRouterView extends View
}
else
{
- String result = "version = BRouter-1.4\n" + "distance = " + cr.getDistance() / 1000. + " km\n" + "filtered ascend = " + cr.getAscend()
+ String result = "version = BRouter-1.4.1\n" + "distance = " + cr.getDistance() / 1000. + " km\n" + "filtered ascend = " + cr.getAscend()
+ " m\n" + "plain ascend = " + cr.getPlainAscend();
rawTrack = cr.getFoundRawTrack();
diff --git a/brouter-server/pom.xml b/brouter-server/pom.xml
index e79609f..419a5a6 100644
--- a/brouter-server/pom.xml
+++ b/brouter-server/pom.xml
@@ -5,7 +5,7 @@
org.btools
brouter
- 1.4
+ 1.4.1
../pom.xml
brouter-server
@@ -51,6 +51,11 @@
brouter-map-creator
${project.version}
+
+ org.btools
+ brouter-mem-router
+ ${project.version}
+
junit
junit
diff --git a/brouter-server/src/main/java/btools/server/BRouter.java b/brouter-server/src/main/java/btools/server/BRouter.java
index 851396e..a167a5c 100644
--- a/brouter-server/src/main/java/btools/server/BRouter.java
+++ b/brouter-server/src/main/java/btools/server/BRouter.java
@@ -88,7 +88,7 @@ public class BRouter
}
System.exit(0);
}
- System.out.println("BRouter 1.4 / 06052016 / abrensch");
+ System.out.println("BRouter 1.4.1 / 09052016 / abrensch");
if ( args.length < 6 )
{
System.out.println("Find routes in an OSM map");
diff --git a/brouter-server/src/main/java/btools/server/RouteServer.java b/brouter-server/src/main/java/btools/server/RouteServer.java
index cae00d0..8aec264 100644
--- a/brouter-server/src/main/java/btools/server/RouteServer.java
+++ b/brouter-server/src/main/java/btools/server/RouteServer.java
@@ -8,15 +8,15 @@ import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.List;
-import java.util.StringTokenizer;
-import java.util.TreeMap;
-import java.util.Date;
-import java.util.Locale;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.StringTokenizer;
+import java.util.TreeMap;
import btools.router.OsmNodeNamed;
import btools.router.OsmTrack;
@@ -155,7 +155,7 @@ public class RouteServer extends Thread
public static void main(String[] args) throws Exception
{
- System.out.println("BRouter 1.4 / 06052016");
+ System.out.println("BRouter 1.4.1 / 09052016");
if ( args.length != 5 )
{
System.out.println("serve BRouter protocol");
diff --git a/brouter-util/pom.xml b/brouter-util/pom.xml
index a4f40b6..c0a95ef 100644
--- a/brouter-util/pom.xml
+++ b/brouter-util/pom.xml
@@ -5,7 +5,7 @@
org.btools
brouter
- 1.4
+ 1.4.1
../pom.xml
brouter-util
diff --git a/misc/readmes/profile_developers_guide.txt b/misc/readmes/profile_developers_guide.txt
index 2c0ebfa..b6bdf8e 100644
--- a/misc/readmes/profile_developers_guide.txt
+++ b/misc/readmes/profile_developers_guide.txt
@@ -145,11 +145,15 @@ All expressions have one of the following basic forms:
or
and
+ xor
multiply
add
+ sub
max
min
equal
+ greater
+ lesser
- 3 Operand operators are:
diff --git a/pom.xml b/pom.xml
index 1116f1d..6edacb0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
org.btools
brouter
- 1.4
+ 1.4.1
pom
http://brouter.de/brouter/
brouter
@@ -17,7 +17,7 @@
brouter-mapaccess
brouter-core
brouter-map-creator
-
+ brouter-mem-router
brouter-server
brouter-routing-app