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

Skip to content
Snippets Groups Projects
MainModule.vb 3.97 KiB
Newer Older
' Copyright 2017 European Union.
' Licensed under the EUPL (the 'Licence');
'
' * You may not use this work except in compliance with the Licence.
' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl
' * Unless required by applicable law or agreed to in writing,
'   software distributed under the Licence is distributed on an "AS IS" basis,
'   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
'
' See the LICENSE.txt for the specific language governing permissions and limitations.
Imports System.Collections.Generic
Imports TUGraz.VectoCommon.Models
Imports TUGraz.VectoCommon.Utils
Imports TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
Imports TUGraz.VectoCore.Models.SimulationComponent.Data
Imports TUGraz.VectoCore.Models.SimulationComponent.Data.ElectricMotor
Imports TUGraz.VectoCore.Models.SimulationComponent.Data.Engine

''' <summary>
''' Main calculation routines.
''' </summary>
''' <remarks></remarks>
Module MainModule
	Public JobFileList As List(Of String)

	Public Function ConvertToEngineData(ByVal fld As EngineFullLoadCurve, ByVal nIdle As PerSecond, ByVal gear As Integer,
										ByVal maxTorque As NewtonMeter) As CombustionEngineData

		Dim retVal As CombustionEngineData = New CombustionEngineData()
		Dim fullLoadCurves As Dictionary(Of UInteger, EngineFullLoadCurve) = New Dictionary(Of UInteger, EngineFullLoadCurve)
		fullLoadCurves(0) = fld
		fullLoadCurves(CType(gear, UInteger)) = AbstractSimulationDataAdapter.IntersectFullLoadCurves(fld, maxTorque)
		retVal.FullLoadCurves = fullLoadCurves
    public Function ConvertToElectricMotorData(emFld As ElectricMotorFullLoadCurve, gear As Integer) As ElectricMotorData
        Dim retval = new ElectricMotorData

        retval.EfficiencyData = New VoltageLevelData()
        retval.EfficiencyData.VoltageLevels = new List(Of ElectricMotorVoltageLevelData)

        Dim vl = new ElectricMotorVoltageLevelData
        retval.EfficiencyData.VoltageLevels.Add(vl)

        vl.FullLoadCurve = emFld

        Return retval
    End Function

    Public Function ConvPicPath(hdVclass As VehicleClass, isLongHaul As Boolean) As Bitmap

        Select Case hdVclass
            Case VehicleClass.Class51,
                 VehicleClass.Class52,
                 VehicleClass.Class53,
                 VehicleClass.Class54,
                 VehicleClass.Class55,
                 VehicleClass.Class56,
                Return My.Resources.Undef

            Case VehicleClass.Class1,
                 VehicleClass.Class2,
                 VehicleClass.Class3,
                VehicleClass.Class6,
                VehicleClass.Class7
                Return My.Resources._4x2r
                If isLongHaul Then Return My.Resources._4x2rt
                Return My.Resources._4x2r
            Case VehicleClass.Class5,
                 VehicleClass.Class8
                Return My.Resources._4x2tt
            Case VehicleClass.Class9,
                 VehicleClass.Class11,
                 VehicleClass.Class13
                If isLongHaul Then Return My.Resources._6x2rt
                Return My.Resources._6x2r
            Case VehicleClass.Class10,
                 VehicleClass.Class12,
                 VehicleClass.Class14
                Return My.Resources._6x2tt
            Case Else
                Return My.Resources.Undef
        End Select
    End Function
    Public Function GetRelativePath(filePath As String, basePath As String) As String
		If (String.IsNullOrEmpty(filePath)) then
        If (string.isnullOrempty(basePath)) Then
            Return filePath
        End If
		If (Path.GetDirectoryName(Path.GetFullPath(filePath)).StartsWith(basePath, StringComparison.OrdinalIgnoreCase)) Then
			Return Path.GetFullPath(filePath).Substring(basePath.Length + If(basePath.EndsWith("\"), 0, 1))