energy along the track

This commit is contained in:
Arndt Brenschede 2018-03-11 08:34:57 +01:00
parent 22f27f89d4
commit fc1656dd7b
3 changed files with 17 additions and 0 deletions

View file

@ -57,6 +57,19 @@ public class OsmPathElement implements OsmPos
}
}
public final float getEnergy()
{
return message == null ? 0.f : message.energy;
}
public final void setEnergy( float e )
{
if ( message != null )
{
message.energy = e;
}
}
public final long getIdFromPos()
{
return ((long)ilon)<<32 | ilat;

View file

@ -293,12 +293,14 @@ public final class OsmTrack
{
int ourSize = nodes.size();
float t0 = ourSize > 0 ? nodes.get(ourSize - 1 ).getTime() : 0;
float e0 = ourSize > 0 ? nodes.get(ourSize - 1 ).getEnergy() : 0;
for ( int i = 0; i < t.nodes.size(); i++ )
{
if ( i > 0 || ourSize == 0 )
{
OsmPathElement e = t.nodes.get( i );
e.setTime( e.getTime() + t0 );
e.setEnergy( e.getEnergy() + e0 );
nodes.add( e );
}
}

View file

@ -1115,6 +1115,7 @@ public class RoutingEngine extends Thread
}
float totalTime = element.getTime();
float totalEnergy = element.getEnergy();
OsmTrack track = new OsmTrack();
track.cost = path.cost;
@ -1138,6 +1139,7 @@ public class RoutingEngine extends Thread
if ( routingContext.inverseRouting )
{
element.setTime( totalTime - element.getTime() );
element.setEnergy( totalEnergy - element.getEnergy() );
track.nodes.add( element );
}
else