From 432b5a501fadc7a02e161b9bc0bb58939cd66166 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Mon, 19 Oct 2015 18:03:26 +0200 Subject: [PATCH] bugfix: distance-based cycle: computation of road gradient was wrong after refactoring --- .../Impl/DistanceBasedDrivingCycle.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs b/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs index fcac7469e9..b1554fa813 100644 --- a/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs +++ b/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs @@ -156,25 +156,25 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl private Radian ComputeGradient(Meter ds) { - var leftSamplePoint = CycleIntervalIterator.LeftSample; + //var leftSamplePoint = CycleIntervalIterator.LeftSample; var cycleIterator = CycleIntervalIterator.Clone(); while (cycleIterator.RightSample.Distance < PreviousState.Distance + ds && !cycleIterator.LastEntry) { cycleIterator.MoveNext(); } + var leftSamplePoint = cycleIterator.LeftSample; var rightSamplePoint = cycleIterator.RightSample; - var gradient = leftSamplePoint.RoadGradient; if (leftSamplePoint.Distance.IsEqual(rightSamplePoint.Distance)) { - return gradient; + return leftSamplePoint.RoadGradient; } CurrentState.Altitude = VectoMath.Interpolate(leftSamplePoint.Distance, rightSamplePoint.Distance, leftSamplePoint.Altitude, rightSamplePoint.Altitude, PreviousState.Distance + ds); - gradient = VectoMath.InclinationToAngle(((CurrentState.Altitude - PreviousState.Altitude) / - (ds)).Value()); + var gradient = VectoMath.InclinationToAngle(((CurrentState.Altitude - PreviousState.Altitude) / + (ds)).Value()); //return 0.SI<Radian>(); return gradient; } -- GitLab