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