From 26db85186afb0eddda0a217f408a58d0eee121c1 Mon Sep 17 00:00:00 2001
From: Michael Krisper <michael.krisper@tugraz.at>
Date: Wed, 13 Jul 2016 09:58:01 +0200
Subject: [PATCH] add auxiliaries in provider extensions

---
 VectoCore/VectoCore/Utils/ProviderExtensions.cs | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/VectoCore/VectoCore/Utils/ProviderExtensions.cs b/VectoCore/VectoCore/Utils/ProviderExtensions.cs
index 6fe13a2cb5..daa6222b3d 100644
--- a/VectoCore/VectoCore/Utils/ProviderExtensions.cs
+++ b/VectoCore/VectoCore/Utils/ProviderExtensions.cs
@@ -1,7 +1,10 @@
 using System;
+using System.Collections.Generic;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCore.Models.Connector.Ports;
 using TUGraz.VectoCore.Models.Simulation;
+using TUGraz.VectoCore.Models.Simulation.Data;
+using TUGraz.VectoCore.Models.Simulation.Impl;
 using TUGraz.VectoCore.Models.SimulationComponent;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.Models.SimulationComponent.Impl;
@@ -10,6 +13,19 @@ namespace TUGraz.VectoCore.Utils
 {
 	public static class ProviderExtensions
 	{
+		public static void AddAuxiliaries(this CombustionEngine engine, VehicleContainer container,
+			VectoRunData data)
+		{
+			// aux --> engine
+			if (data.AdvancedAux != null && data.AdvancedAux.AuxiliaryAssembly == AuxiliaryModel.Advanced) {
+				engine.Connect(PowertrainBuilder.CreateAdvancedAuxiliaries(data, container).Port());
+			} else {
+				if (data.Aux != null) {
+					engine.Connect(PowertrainBuilder.CreateAuxiliaries(data, container).Port());
+				}
+			}
+		}
+
 		public static IDriver AddComponent(this IDrivingCycleInProvider prev, IDriver next)
 		{
 			prev.InPort().Connect(next.OutPort());
-- 
GitLab