diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs b/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs index a6e16a6e0ad50d067472dea23de0e76c27f6328b..b06f9f3f5987c6dc8771cb9fe358693188d2f079 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs @@ -425,6 +425,11 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl get { return Driver != null ? Driver.DriverAcceleration : 0.SI<MeterPerSquareSecond>(); } } + public Radian RoadGradient + { + get { return DrivingCycle.RoadGradient; } + } + public Meter CycleStartDistance { get { return DrivingCycle == null ? 0.SI<Meter>() : DrivingCycle.CycleStartDistance; } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/IDrivingCycleInfo.cs b/VectoCore/VectoCore/Models/SimulationComponent/IDrivingCycleInfo.cs index 71bde5add4566bebeb517e7a7ac5904b38983b4e..b1dbbb4f80c0174ba57eee7e5960fd88361cad69 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/IDrivingCycleInfo.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/IDrivingCycleInfo.cs @@ -58,6 +58,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent Meter Altitude { get; } + Radian RoadGradient { get; } + Meter CycleStartDistance { get; } IReadOnlyList<DrivingCycleData.DrivingCycleEntry> LookAhead(Meter lookaheadDistance); diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs index 41e0fb4be6976c8745d39aa031a137a0ed98bd66..880d2db7d8ac22de7b86a3b5016edb79606cbf36 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs @@ -496,6 +496,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl get { return PreviousState.Altitude; } } + public Radian RoadGradient { get { return CurrentState.Gradient; } } + + public sealed class DrivingCycleState { public DrivingCycleState Clone() diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs index 488de7cd83ca88aacc05da9ab59ce649b8abcd62..0a034b7e93eaa53ebd17c094e564eb3c74483406 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs @@ -360,6 +360,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl get { return CycleIterator.LeftSample.Altitude; } } + public Radian RoadGradient { get { return CycleIterator.LeftSample.RoadGradient; } } + public Meter CycleStartDistance { get { return 0.SI<Meter>(); } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/PowertrainDrivingCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/PowertrainDrivingCycle.cs index 8ab87a9c102d883a436ec4923fe447674cf7320a..ca9a5ad198b6e16e81e7c6636a81eb11455996df 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/PowertrainDrivingCycle.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/PowertrainDrivingCycle.cs @@ -203,6 +203,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl get { return 0.SI<Meter>(); } } + public Radian RoadGradient { get { return 0.SI<Radian>(); } } + public Meter CycleStartDistance { get { return 0.SI<Meter>(); } diff --git a/VectoCore/VectoCoreTest/Utils/MockAuxiliaryDemand.cs b/VectoCore/VectoCoreTest/Utils/MockAuxiliaryDemand.cs index 5727095d70e2a35e696b988d5f994f322a63b3c6..e7c52d8c318860e4c37b8e294608746647bbf0e0 100644 --- a/VectoCore/VectoCoreTest/Utils/MockAuxiliaryDemand.cs +++ b/VectoCore/VectoCoreTest/Utils/MockAuxiliaryDemand.cs @@ -88,6 +88,8 @@ namespace TUGraz.VectoCore.Tests.Utils get { return 0.SI<Meter>(); } } + public Radian RoadGradient { get { return 0.SI<Radian>(); } } + protected override void DoWriteModalResults(IModalDataContainer container) { container[ModalResultField.dist] = 0.SI<Meter>(); diff --git a/VectoCore/VectoCoreTest/Utils/MockVehicleContainer.cs b/VectoCore/VectoCoreTest/Utils/MockVehicleContainer.cs index 51429c000ea7a3c1b2157a1a7eeac4949e5e1808..297349fcf063bb586cc9dfbcc53c906c9c866af0 100644 --- a/VectoCore/VectoCoreTest/Utils/MockVehicleContainer.cs +++ b/VectoCore/VectoCoreTest/Utils/MockVehicleContainer.cs @@ -163,6 +163,7 @@ namespace TUGraz.VectoCore.Tests.Utils } public Watt BrakePower { get; set; } + public Radian RoadGradient { get; set; } public Meter CycleStartDistance { get; set; } public IReadOnlyList<DrivingCycleData.DrivingCycleEntry> LookAhead(Meter lookaheadDistance)