energy along the track
This commit is contained in:
parent
e5d8bd9bf4
commit
1f358b3d48
3 changed files with 17 additions and 0 deletions
|
@ -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;
|
||||||
|
|
|
@ -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 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue