diff --git a/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs b/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs index 7f1a20eb9fceb0b0b9e0e2bc54223d40fc532a47..a9fae590ee58c0dd636a2911d2410af85d5a1e10 100644 --- a/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs +++ b/VectoCore/Models/SimulationComponent/Impl/DefaultDriverStrategy.cs @@ -119,7 +119,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl default: return retVal; } - if (ds.IsEqual(newds, 1e-3.SI<Meter>())) { + if (newds.IsEqual(0, 1e-3) || ds.IsEqual(newds, 1e-3.SI<Meter>())) { return retVal; } Log.Debug("Exceeding next ActionDistance at {0}. Reducing max Distance to {1}", nextAction.ActionDistance, newds); diff --git a/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs b/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs index f32fc8e0dca155930ffbd6b00cccec9b68f0a3bd..0aa2dc841f2c6a1d7068cdda2b090b925090b35e 100644 --- a/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs +++ b/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs @@ -189,6 +189,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl return cycleIterator.RightSample.Distance; } } while (cycleIterator.RightSample.Distance < PreviousState.Distance + ds && cycleIterator.MoveNext()); + if (cycleIterator.LastEntry) { + return cycleIterator.RightSample.Distance; + } return null; }