From 8885026bb884056cfb95203a33dcf5e2e54d0c3a Mon Sep 17 00:00:00 2001
From: Michael Krisper <michael.krisper@tugraz.at>
Date: Wed, 17 Aug 2016 16:40:39 +0200
Subject: [PATCH] ILossMap, Retarder: Renamed RetarderLoss to GetTorqueLoss

---
 .../SimulationComponent/Data/RetarderLossMap.cs      |  4 ++--
 .../VectoCore/Models/SimulationComponent/ILossMap.cs | 12 ++++++++++++
 .../Models/SimulationComponent/Impl/Retarder.cs      |  4 ++--
 3 files changed, 16 insertions(+), 4 deletions(-)
 create mode 100644 VectoCore/VectoCore/Models/SimulationComponent/ILossMap.cs

diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/RetarderLossMap.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/RetarderLossMap.cs
index 95efbcc486..9faa334d9e 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Data/RetarderLossMap.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/RetarderLossMap.cs
@@ -38,7 +38,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
 	/// <summary>
 	/// LossMap for retarder.
 	/// </summary>
-	public class RetarderLossMap : SimulationComponentData
+	public class RetarderLossMap : SimulationComponentData, ILossMap
 	{
 		[ValidateObject] private readonly RetarderLossEntry[] _entries;
 		private PerSecond _minSpeed;
@@ -68,7 +68,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
 		/// <summary>
 		/// Calculates the retarder losses.
 		/// </summary>
-		public NewtonMeter RetarderLoss(PerSecond angularVelocity)
+		public NewtonMeter GetTorqueLoss(PerSecond angularVelocity)
 		{
 			var s = _entries.GetSection(e => e.RetarderSpeed < angularVelocity);
 			return VectoMath.Interpolate(s.Item1.RetarderSpeed, s.Item2.RetarderSpeed, s.Item1.TorqueLoss, s.Item2.TorqueLoss,
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/ILossMap.cs b/VectoCore/VectoCore/Models/SimulationComponent/ILossMap.cs
new file mode 100644
index 0000000000..c8e13b4878
--- /dev/null
+++ b/VectoCore/VectoCore/Models/SimulationComponent/ILossMap.cs
@@ -0,0 +1,12 @@
+using TUGraz.VectoCommon.Utils;
+
+namespace TUGraz.VectoCore.Models.SimulationComponent
+{
+	public interface ILossMap
+	{
+		/// <summary>
+		/// Calculates the torque loss.
+		/// </summary>
+		NewtonMeter GetTorqueLoss(PerSecond angularVelocity);
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Retarder.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Retarder.cs
index 3797ed6a0a..d2e4591eda 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Retarder.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Retarder.cs
@@ -64,7 +64,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 
 		public IResponse Initialize(NewtonMeter torque, PerSecond angularVelocity)
 		{
-			var retarderTorqueLoss = _lossMap.RetarderLoss(angularVelocity * _ratio) / _ratio;
+			var retarderTorqueLoss = _lossMap.GetTorqueLoss(angularVelocity * _ratio) / _ratio;
 			PreviousState.SetState(torque + retarderTorqueLoss, angularVelocity, torque, angularVelocity);
 			return NextComponent.Initialize(PreviousState.InTorque, PreviousState.InAngularVelocity);
 		}
@@ -75,7 +75,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				return NextComponent.Request(absTime, dt, torque, null, dryRun);
 			}
 			var avgAngularSpeed = (PreviousState.InAngularVelocity + angularVelocity) / 2.0;
-			var retarderTorqueLoss = _lossMap.RetarderLoss(avgAngularSpeed * _ratio) / _ratio;
+			var retarderTorqueLoss = _lossMap.GetTorqueLoss(avgAngularSpeed * _ratio) / _ratio;
 			CurrentState.SetState(torque + retarderTorqueLoss, angularVelocity, torque, angularVelocity);
 			return NextComponent.Request(absTime, dt, CurrentState.InTorque, CurrentState.InAngularVelocity, dryRun);
 		}
-- 
GitLab