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 c47f08ec authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

set crosswind correction mode for completed specific bus in case default vaules are used

parent 9064d955
No related branches found
No related tags found
No related merge requests found
...@@ -29,90 +29,90 @@ ...@@ -29,90 +29,90 @@
* Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
*/ */
using System; using System;
namespace TUGraz.VectoCommon.Models namespace TUGraz.VectoCommon.Models
{ {
public enum CrossWindCorrectionMode public enum CrossWindCorrectionMode
{ {
NoCorrection, NoCorrection,
SpeedDependentCorrectionFactor, SpeedDependentCorrectionFactor,
VAirBetaLookupTable, VAirBetaLookupTable,
DeclarationModeCorrection DeclarationModeCorrection
} }
public static class CrossWindCorrectionModeHelper public static class CrossWindCorrectionModeHelper
{ {
private const string SpeedDependentCorrectionFactor = "CdofVEng"; private const string SpeedDependentCorrectionFactor = "CdofVEng";
private const string DeclarationModeCorrection = "CdofVdecl"; private const string DeclarationModeCorrection = "CdofVdecl";
private const string VAirBetaLookupTable = "CdofBeta"; private const string VAirBetaLookupTable = "CdofBeta";
private const string NoCorrection = "Off"; private const string NoCorrection = "Off";
public static CrossWindCorrectionMode Parse(string correctionMode) public static CrossWindCorrectionMode Parse(string correctionMode)
{ {
if (correctionMode.Equals(SpeedDependentCorrectionFactor, StringComparison.OrdinalIgnoreCase)) { if (correctionMode.Equals(SpeedDependentCorrectionFactor, StringComparison.OrdinalIgnoreCase)) {
return CrossWindCorrectionMode.SpeedDependentCorrectionFactor; return CrossWindCorrectionMode.SpeedDependentCorrectionFactor;
} }
if (correctionMode.Equals(DeclarationModeCorrection, StringComparison.OrdinalIgnoreCase)) { if (correctionMode.Equals(DeclarationModeCorrection, StringComparison.OrdinalIgnoreCase)) {
return CrossWindCorrectionMode.DeclarationModeCorrection; return CrossWindCorrectionMode.DeclarationModeCorrection;
} }
if (correctionMode.Equals(VAirBetaLookupTable, StringComparison.OrdinalIgnoreCase)) { if (correctionMode.Equals(VAirBetaLookupTable, StringComparison.OrdinalIgnoreCase)) {
return CrossWindCorrectionMode.VAirBetaLookupTable; return CrossWindCorrectionMode.VAirBetaLookupTable;
} }
if (correctionMode.Equals(NoCorrection, StringComparison.OrdinalIgnoreCase)) { if (correctionMode.Equals(NoCorrection, StringComparison.OrdinalIgnoreCase)) {
return CrossWindCorrectionMode.NoCorrection; return CrossWindCorrectionMode.NoCorrection;
} }
LogManager.GetLogger(typeof(CrossWindCorrectionModeHelper).ToString()) LogManager.GetLogger(typeof(CrossWindCorrectionModeHelper).ToString())
.Warn("Invalid Crosswind correction Mode given. Ignoring Crosswind Correction!"); .Warn("Invalid Crosswind correction Mode given. Ignoring Crosswind Correction!");
return CrossWindCorrectionMode.NoCorrection; return CrossWindCorrectionMode.NoCorrection;
} }
public static string GetName(this CrossWindCorrectionMode mode) public static string GetName(this CrossWindCorrectionMode mode)
{ {
switch (mode) { switch (mode) {
case CrossWindCorrectionMode.NoCorrection: case CrossWindCorrectionMode.NoCorrection:
return NoCorrection; return NoCorrection;
case CrossWindCorrectionMode.SpeedDependentCorrectionFactor: case CrossWindCorrectionMode.SpeedDependentCorrectionFactor:
return SpeedDependentCorrectionFactor; return SpeedDependentCorrectionFactor;
case CrossWindCorrectionMode.VAirBetaLookupTable: case CrossWindCorrectionMode.VAirBetaLookupTable:
return VAirBetaLookupTable; return VAirBetaLookupTable;
case CrossWindCorrectionMode.DeclarationModeCorrection: case CrossWindCorrectionMode.DeclarationModeCorrection:
return DeclarationModeCorrection; return DeclarationModeCorrection;
default: default:
throw new ArgumentOutOfRangeException("CrosswindCorrectionMode", mode, null); throw new ArgumentOutOfRangeException("CrosswindCorrectionMode", mode, null);
} }
} }
public static string GetLabel(this CrossWindCorrectionMode mode) public static string GetLabel(this CrossWindCorrectionMode mode)
{ {
switch (mode) { switch (mode) {
case CrossWindCorrectionMode.NoCorrection: case CrossWindCorrectionMode.NoCorrection:
return "No Correction"; return "No Correction";
case CrossWindCorrectionMode.SpeedDependentCorrectionFactor: case CrossWindCorrectionMode.SpeedDependentCorrectionFactor:
return "Speed dependend (User-defined)"; return "Speed dependend (User-defined)";
case CrossWindCorrectionMode.VAirBetaLookupTable: case CrossWindCorrectionMode.VAirBetaLookupTable:
return "Vair & beta Input"; return "Vair & beta Input";
case CrossWindCorrectionMode.DeclarationModeCorrection: case CrossWindCorrectionMode.DeclarationModeCorrection:
return "Speed dependent (Declaration Mode)"; return "Speed dependent (Declaration Mode)";
default: default:
throw new ArgumentOutOfRangeException("CrosswindCorrectionMode", mode, null); throw new ArgumentOutOfRangeException("CrosswindCorrectionMode", mode, null);
} }
} }
public static string ToXMLFormat(this CrossWindCorrectionMode mode) public static string ToXMLFormat(this CrossWindCorrectionMode mode)
{ {
switch (mode) { switch (mode) {
case CrossWindCorrectionMode.NoCorrection: case CrossWindCorrectionMode.NoCorrection:
return "No Correction"; return "No Correction";
case CrossWindCorrectionMode.SpeedDependentCorrectionFactor: case CrossWindCorrectionMode.SpeedDependentCorrectionFactor:
return "Speed Dependent Correction Factor"; return "Speed Dependent Correction Factor";
case CrossWindCorrectionMode.VAirBetaLookupTable: case CrossWindCorrectionMode.VAirBetaLookupTable:
return "VAir Beta Lookup Table"; return "VAir Beta Lookup Table";
case CrossWindCorrectionMode.DeclarationModeCorrection: case CrossWindCorrectionMode.DeclarationModeCorrection:
return "Declaration Mode Correction"; return "Declaration Mode Correction";
default: default:
throw new ArgumentOutOfRangeException("CrosswindCorrection", mode, null); throw new ArgumentOutOfRangeException("CrosswindCorrection", mode, null);
} }
} }
} }
} }
\ No newline at end of file
...@@ -78,7 +78,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter ...@@ -78,7 +78,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
mission.DefaultCDxA, mission.DefaultCDxA,
GetDeclarationAirResistanceCurve( GetDeclarationAirResistanceCurve(
mission.CrossWindCorrectionParameters, mission.DefaultCDxA, completedVehicle.Height + mission.BusParameter.DeltaHeight), mission.CrossWindCorrectionParameters, mission.DefaultCDxA, completedVehicle.Height + mission.BusParameter.DeltaHeight),
CrossWindCorrectionMode.DeclarationModeCorrection) CrossWindCorrectionMode.DeclarationModeCorrection),
CrossWindCorrectionMode = CrossWindCorrectionMode.DeclarationModeCorrection
}; };
} }
......
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