Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit cbaa0287 authored by Michael KRISPER's avatar Michael KRISPER
Browse files

ProviderExtensions: Added check if gearbox is null, reformated and commented switch statement

parent 6f5226c9
No related branches found
No related tags found
No related merge requests found
......@@ -110,21 +110,33 @@ namespace TUGraz.VectoCore.Utils
return next;
}
public static IPowerTrainComponent AddComponent(this IPowerTrainComponent prev, IGearbox gearbox, RetarderData data,
IVehicleContainer container)
public static IPowerTrainComponent AddComponent(this IPowerTrainComponent prev, IGearbox gearbox,
RetarderData data, IVehicleContainer container)
{
if (gearbox is null) {
return prev;
}
switch (data.Type) {
case RetarderType.TransmissionOutputRetarder:
// --> Transmission Output Retarder --> Gearbox -->
return prev.AddComponent(new Retarder(container, data.LossMap, data.Ratio)).AddComponent(gearbox);
case RetarderType.TransmissionInputRetarder:
// --> Gearbox --> Transmission Input Retarder -->
return prev.AddComponent(gearbox).AddComponent(new Retarder(container, data.LossMap, data.Ratio));
case RetarderType.None:
case RetarderType.LossesIncludedInTransmission:
case RetarderType.EngineRetarder:
// --> DummyRetarder --> Gearbox -->
return prev.AddComponent(new DummyRetarder(container)).AddComponent(gearbox);
case RetarderType.AxlegearInputRetarder:
//todo mk2022-03-21 implement this!
throw new NotImplementedException();
default:
// ReSharper disable once NotResolvedInText
// ReSharper disable once LocalizableElement
throw new ArgumentOutOfRangeException("retarderdata.Type", data.Type.ToString(), "Retardertype unknown");
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment