From eb18f34bf7394b9e6f8d08c817f4a5f03fbc60f6 Mon Sep 17 00:00:00 2001 From: Michael Krisper <michael.krisper@tugraz.at> Date: Mon, 4 Jul 2016 16:28:41 +0200 Subject: [PATCH] added semitrailer weights --- VectoCore/VectoCore/Models/Declaration/Segments.cs | 7 +++++++ .../VectoCore/Models/Declaration/StandardWeights.cs | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/VectoCore/VectoCore/Models/Declaration/Segments.cs b/VectoCore/VectoCore/Models/Declaration/Segments.cs index 81045618de..e7a939f03e 100644 --- a/VectoCore/VectoCore/Models/Declaration/Segments.cs +++ b/VectoCore/VectoCore/Models/Declaration/Segments.cs @@ -114,6 +114,13 @@ namespace TUGraz.VectoCore.Models.Declaration ? DeclarationData.StandardWeights.Lookup(row.Field<string>("trailer")) : DeclarationData.StandardWeights.Empty; + var semiTrailerField = row.Field<string>("semitrailer"); + var semiTrailer = !string.IsNullOrWhiteSpace(semiTrailerField) + ? DeclarationData.StandardWeights.Lookup(semiTrailerField) + : DeclarationData.StandardWeights.Empty; + + trailer += semiTrailer; + // limit gvw to MaxGVW (40t) var gvw = VectoMath.Min(grossVehicleWeight + trailer.GrossVehicleWeight, Constants.SimulationSettings.MaximumGrossVehicleWeight); diff --git a/VectoCore/VectoCore/Models/Declaration/StandardWeights.cs b/VectoCore/VectoCore/Models/Declaration/StandardWeights.cs index 913391e98d..44e0c52124 100644 --- a/VectoCore/VectoCore/Models/Declaration/StandardWeights.cs +++ b/VectoCore/VectoCore/Models/Declaration/StandardWeights.cs @@ -29,6 +29,7 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ +using System.CodeDom; using System.Collections.Generic; using System.Data; using System.Linq; @@ -49,6 +50,15 @@ namespace TUGraz.VectoCore.Models.Declaration } public SquareMeter DeltaCrossWindArea; + + public static StandardWeight operator +(StandardWeight first, StandardWeight second) + { + return new StandardWeight { + CurbWeight = first.CurbWeight + second.CurbWeight, + DeltaCrossWindArea = first.DeltaCrossWindArea + second.DeltaCrossWindArea, + GrossVehicleWeight = first.GrossVehicleWeight + second.GrossVehicleWeight + }; + } } /// <summary> -- GitLab