energy along the track

This commit is contained in:
Arndt Brenschede 2018-03-11 08:34:57 +01:00
parent e5d8bd9bf4
commit 1f358b3d48
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() public final long getIdFromPos()
{ {
return ((long)ilon)<<32 | ilat; return ((long)ilon)<<32 | ilat;

View file

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

View file

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