Code development platform for open source projects from the European Union institutions

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