Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit f9769f76 authored by Michael KRISPER's avatar Michael KRISPER
Browse files

To() --> ConverTo(), To<T>() --> Cast<T>()

parent 9db24421
No related branches found
No related tags found
No related merge requests found
Showing
with 103 additions and 103 deletions
...@@ -68,8 +68,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data ...@@ -68,8 +68,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
/// </summary> /// </summary>
public SI Displacement public SI Displacement
{ {
get { return _data.Body.Displacement.SI().Cubic.Centi.Meter.To().Cubic.Meter.Value(); } get { return _data.Body.Displacement.SI().Cubic.Centi.Meter.ConvertTo().Cubic.Meter.Value(); }
protected set { _data.Body.Displacement = (double) value.To().Cubic.Centi.Meter; } protected set { _data.Body.Displacement = (double) value.ConvertTo().Cubic.Centi.Meter; }
} }
/// <summary> /// <summary>
...@@ -78,7 +78,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data ...@@ -78,7 +78,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
public RadianPerSecond IdleSpeed public RadianPerSecond IdleSpeed
{ {
get { return _data.Body.IdleSpeed.RPMtoRad(); } get { return _data.Body.IdleSpeed.RPMtoRad(); }
protected set { _data.Body.IdleSpeed = (double) value.To().Rounds.Per.Minute; } protected set { _data.Body.IdleSpeed = (double) value.ConvertTo().Rounds.Per.Minute; }
} }
/// <summary> /// <summary>
...@@ -87,7 +87,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data ...@@ -87,7 +87,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
public SI Inertia public SI Inertia
{ {
get { return _data.Body.Inertia.SI().Kilo.Gramm.Square.Meter; } get { return _data.Body.Inertia.SI().Kilo.Gramm.Square.Meter; }
protected set { _data.Body.Inertia = (double) value.To().Kilo.Gramm.Square.Meter; } protected set { _data.Body.Inertia = (double) value.ConvertTo().Kilo.Gramm.Square.Meter; }
} }
/// <summary> /// <summary>
...@@ -95,8 +95,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data ...@@ -95,8 +95,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
/// </summary> /// </summary>
public SI WHTCUrban public SI WHTCUrban
{ {
get { return _data.Body.WHTCUrban.SI().Gramm.Per.Kilo.Watt.Hour.To().Kilo.Gramm.Per.Watt.Second.Value(); } get { return _data.Body.WHTCUrban.SI().Gramm.Per.Kilo.Watt.Hour.ConvertTo().Kilo.Gramm.Per.Watt.Second.Value(); }
protected set { _data.Body.WHTCUrban = (double) value.To().Gramm.Per.Kilo.Watt.Hour; } protected set { _data.Body.WHTCUrban = (double) value.ConvertTo().Gramm.Per.Kilo.Watt.Hour; }
} }
/// <summary> /// <summary>
...@@ -104,8 +104,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data ...@@ -104,8 +104,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
/// </summary> /// </summary>
public SI WHTCRural public SI WHTCRural
{ {
get { return _data.Body.WHTCRural.SI().Gramm.Per.Kilo.Watt.Hour.To().Kilo.Gramm.Per.Watt.Second.Value(); } get { return _data.Body.WHTCRural.SI().Gramm.Per.Kilo.Watt.Hour.ConvertTo().Kilo.Gramm.Per.Watt.Second.Value(); }
protected set { _data.Body.WHTCRural = (double) value.To().Gramm.Per.Kilo.Watt.Hour; } protected set { _data.Body.WHTCRural = (double) value.ConvertTo().Gramm.Per.Kilo.Watt.Hour; }
} }
/// <summary> /// <summary>
...@@ -116,9 +116,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data ...@@ -116,9 +116,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
get get
{ {
return return
_data.Body.WHTCMotorway.SI().Gramm.Per.Kilo.Watt.Hour.To().Kilo.Gramm.Per.Watt.Second.Value(); _data.Body.WHTCMotorway.SI().Gramm.Per.Kilo.Watt.Hour.ConvertTo().Kilo.Gramm.Per.Watt.Second.Value();
} }
protected set { _data.Body.WHTCMotorway = (double) value.To().Gramm.Per.Kilo.Watt.Hour; } protected set { _data.Body.WHTCMotorway = (double) value.ConvertTo().Gramm.Per.Kilo.Watt.Hour; }
} }
[DataMember] [DataMember]
......
...@@ -232,7 +232,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data ...@@ -232,7 +232,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
return row.Table.Columns.Cast<DataColumn>(). return row.Table.Columns.Cast<DataColumn>().
Where(col => col.ColumnName.StartsWith(Fields.AuxiliarySupplyPower)). Where(col => col.ColumnName.StartsWith(Fields.AuxiliarySupplyPower)).
ToDictionary(col => col.ColumnName.Substring(Fields.AuxiliarySupplyPower.Length - 1), ToDictionary(col => col.ColumnName.Substring(Fields.AuxiliarySupplyPower.Length - 1),
col => row.ParseDouble(col).SI().Kilo.Watt.As<Watt>()); col => row.ParseDouble(col).SI().Kilo.Watt.Cast<Watt>());
} }
} }
...@@ -244,17 +244,17 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data ...@@ -244,17 +244,17 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
return table.Rows.Cast<DataRow>().Select(row => new DrivingCycleEntry { return table.Rows.Cast<DataRow>().Select(row => new DrivingCycleEntry {
Distance = row.ParseDouble(Fields.Distance), Distance = row.ParseDouble(Fields.Distance),
VehicleSpeed = row.ParseDouble(Fields.VehicleSpeed).SI().Kilo.Meter.Per.Hour.As<MeterPerSecond>(), VehicleSpeed = row.ParseDouble(Fields.VehicleSpeed).SI().Kilo.Meter.Per.Hour.Cast<MeterPerSecond>(),
RoadGradient = row.ParseDoubleOrGetDefault(Fields.RoadGradient), RoadGradient = row.ParseDoubleOrGetDefault(Fields.RoadGradient),
AdditionalAuxPowerDemand = AdditionalAuxPowerDemand =
row.ParseDoubleOrGetDefault(Fields.AdditionalAuxPowerDemand).SI().Kilo.Watt.As<Watt>(), row.ParseDoubleOrGetDefault(Fields.AdditionalAuxPowerDemand).SI().Kilo.Watt.Cast<Watt>(),
EngineSpeed = EngineSpeed =
row.ParseDoubleOrGetDefault(Fields.EngineSpeed).SI().Rounds.Per.Minute.As<RadianPerSecond>(), row.ParseDoubleOrGetDefault(Fields.EngineSpeed).SI().Rounds.Per.Minute.Cast<RadianPerSecond>(),
Gear = row.ParseDoubleOrGetDefault(Fields.Gear), Gear = row.ParseDoubleOrGetDefault(Fields.Gear),
AirSpeedRelativeToVehicle = AirSpeedRelativeToVehicle =
row.ParseDoubleOrGetDefault(Fields.AirSpeedRelativeToVehicle) row.ParseDoubleOrGetDefault(Fields.AirSpeedRelativeToVehicle)
.SI() .SI()
.Kilo.Meter.Per.Hour.As<MeterPerSecond>(), .Kilo.Meter.Per.Hour.Cast<MeterPerSecond>(),
WindYawAngle = row.ParseDoubleOrGetDefault(Fields.WindYawAngle), WindYawAngle = row.ParseDoubleOrGetDefault(Fields.WindYawAngle),
AuxiliarySupplyPower = AuxSupplyPowerReader.Read(row) AuxiliarySupplyPower = AuxSupplyPowerReader.Read(row)
}); });
...@@ -305,17 +305,17 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data ...@@ -305,17 +305,17 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
var entries = table.Rows.Cast<DataRow>().Select((row, index) => new DrivingCycleEntry { var entries = table.Rows.Cast<DataRow>().Select((row, index) => new DrivingCycleEntry {
Time = row.ParseDoubleOrGetDefault(Fields.Time, index), Time = row.ParseDoubleOrGetDefault(Fields.Time, index),
VehicleSpeed = row.ParseDouble(Fields.VehicleSpeed).SI().Kilo.Meter.Per.Hour.As<MeterPerSecond>(), VehicleSpeed = row.ParseDouble(Fields.VehicleSpeed).SI().Kilo.Meter.Per.Hour.Cast<MeterPerSecond>(),
RoadGradient = row.ParseDoubleOrGetDefault(Fields.RoadGradient), RoadGradient = row.ParseDoubleOrGetDefault(Fields.RoadGradient),
AdditionalAuxPowerDemand = AdditionalAuxPowerDemand =
row.ParseDoubleOrGetDefault(Fields.AdditionalAuxPowerDemand).SI().Kilo.Watt.As<Watt>(), row.ParseDoubleOrGetDefault(Fields.AdditionalAuxPowerDemand).SI().Kilo.Watt.Cast<Watt>(),
Gear = row.ParseDoubleOrGetDefault(Fields.Gear), Gear = row.ParseDoubleOrGetDefault(Fields.Gear),
EngineSpeed = EngineSpeed =
row.ParseDoubleOrGetDefault(Fields.EngineSpeed).SI().Rounds.Per.Minute.As<RadianPerSecond>(), row.ParseDoubleOrGetDefault(Fields.EngineSpeed).SI().Rounds.Per.Minute.Cast<RadianPerSecond>(),
AirSpeedRelativeToVehicle = AirSpeedRelativeToVehicle =
row.ParseDoubleOrGetDefault(Fields.AirSpeedRelativeToVehicle) row.ParseDoubleOrGetDefault(Fields.AirSpeedRelativeToVehicle)
.SI() .SI()
.Kilo.Meter.Per.Hour.As<MeterPerSecond>(), .Kilo.Meter.Per.Hour.Cast<MeterPerSecond>(),
WindYawAngle = row.ParseDoubleOrGetDefault(Fields.WindYawAngle), WindYawAngle = row.ParseDoubleOrGetDefault(Fields.WindYawAngle),
AuxiliarySupplyPower = AuxSupplyPowerReader.Read(row) AuxiliarySupplyPower = AuxSupplyPowerReader.Read(row)
}).ToArray(); }).ToArray();
...@@ -365,9 +365,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data ...@@ -365,9 +365,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
foreach (DataRow row in table.Rows) { foreach (DataRow row in table.Rows) {
var entry = new DrivingCycleEntry { var entry = new DrivingCycleEntry {
EngineSpeed = EngineSpeed =
row.ParseDoubleOrGetDefault(Fields.EngineSpeed).SI().Rounds.Per.Minute.As<RadianPerSecond>(), row.ParseDoubleOrGetDefault(Fields.EngineSpeed).SI().Rounds.Per.Minute.Cast<RadianPerSecond>(),
AdditionalAuxPowerDemand = AdditionalAuxPowerDemand =
row.ParseDoubleOrGetDefault(Fields.AdditionalAuxPowerDemand).SI().Kilo.Watt.As<Watt>(), row.ParseDoubleOrGetDefault(Fields.AdditionalAuxPowerDemand).SI().Kilo.Watt.Cast<Watt>(),
AuxiliarySupplyPower = AuxSupplyPowerReader.Read(row) AuxiliarySupplyPower = AuxSupplyPowerReader.Read(row)
}; };
if (row.Table.Columns.Contains(Fields.EngineTorque)) { if (row.Table.Columns.Contains(Fields.EngineTorque)) {
...@@ -381,7 +381,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data ...@@ -381,7 +381,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
entry.Drag = true; entry.Drag = true;
} else { } else {
entry.EngineTorque = entry.EngineTorque =
Formulas.PowerToTorque(row.ParseDouble(Fields.EnginePower).SI().Kilo.Watt.As<Watt>(), Formulas.PowerToTorque(row.ParseDouble(Fields.EnginePower).SI().Kilo.Watt.Cast<Watt>(),
entry.EngineSpeed); entry.EngineSpeed);
} }
} }
......
...@@ -26,10 +26,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Engine ...@@ -26,10 +26,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Engine
try { try {
var entry = new FuelConsumptionEntry { var entry = new FuelConsumptionEntry {
EngineSpeed = EngineSpeed =
row.ParseDouble(Fields.EngineSpeed).SI().Rounds.Per.Minute.As<RadianPerSecond>(), row.ParseDouble(Fields.EngineSpeed).SI().Rounds.Per.Minute.Cast<RadianPerSecond>(),
Torque = row.ParseDouble(Fields.Torque).SI<NewtonMeter>(), Torque = row.ParseDouble(Fields.Torque).SI<NewtonMeter>(),
FuelConsumption = FuelConsumption =
row.ParseDouble(Fields.FuelConsumption).SI().Gramm.Per.Hour.To().Kilo.Gramm.Per.Second row.ParseDouble(Fields.FuelConsumption).SI().Gramm.Per.Hour.ConvertTo().Kilo.Gramm.Per.Second
}; };
// todo Contract.Assert // todo Contract.Assert
...@@ -65,7 +65,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Engine ...@@ -65,7 +65,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Engine
{ {
// delauney map needs is initialised with rpm, therefore the engineSpeed has to be converted. // delauney map needs is initialised with rpm, therefore the engineSpeed has to be converted.
return return
_fuelMap.Interpolate((double) torque, (double) engineSpeed.To().Rounds.Per.Minute) _fuelMap.Interpolate((double) torque, (double) engineSpeed.ConvertTo().Rounds.Per.Minute)
.SI() .SI()
.Kilo.Gramm.Per.Second; .Kilo.Gramm.Per.Second;
} }
......
...@@ -157,7 +157,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Engine ...@@ -157,7 +157,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Engine
int idx; int idx;
if (engineSpeed < _entries[0].EngineSpeed) { if (engineSpeed < _entries[0].EngineSpeed) {
Log.ErrorFormat("requested rpm below minimum rpm in FLD curve - extrapolating. n: {0}, rpm_min: {1}", Log.ErrorFormat("requested rpm below minimum rpm in FLD curve - extrapolating. n: {0}, rpm_min: {1}",
engineSpeed.To().Rounds.Per.Minute, _entries[0].EngineSpeed.To().Rounds.Per.Minute); engineSpeed.ConvertTo().Rounds.Per.Minute, _entries[0].EngineSpeed.ConvertTo().Rounds.Per.Minute);
idx = 1; idx = 1;
} else { } else {
idx = _entries.FindIndex(x => x.EngineSpeed > engineSpeed); idx = _entries.FindIndex(x => x.EngineSpeed > engineSpeed);
......
...@@ -122,13 +122,13 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl ...@@ -122,13 +122,13 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
writer[ModalResultField.Tq_drag] = (double) _currentState.FullDragTorque; writer[ModalResultField.Tq_drag] = (double) _currentState.FullDragTorque;
writer[ModalResultField.Tq_full] = (double) _currentState.DynamicFullLoadTorque; writer[ModalResultField.Tq_full] = (double) _currentState.DynamicFullLoadTorque;
writer[ModalResultField.Tq_eng] = (double) _currentState.EngineTorque; writer[ModalResultField.Tq_eng] = (double) _currentState.EngineTorque;
writer[ModalResultField.n] = (double) _currentState.EngineSpeed.To().Rounds.Per.Minute; writer[ModalResultField.n] = (double) _currentState.EngineSpeed.ConvertTo().Rounds.Per.Minute;
try { try {
writer[ModalResultField.FC] = writer[ModalResultField.FC] =
(double) (double)
_data.ConsumptionMap.GetFuelConsumption(_currentState.EngineTorque, _currentState.EngineSpeed) _data.ConsumptionMap.GetFuelConsumption(_currentState.EngineTorque, _currentState.EngineSpeed)
.To() .ConvertTo()
.Gramm.Per.Hour; .Gramm.Per.Hour;
} catch (VectoException ex) { } catch (VectoException ex) {
Log.WarnFormat("t: {0} - {1} n: {2} Tq: {3}", _currentState.AbsTime.TotalSeconds, ex.Message, Log.WarnFormat("t: {0} - {1} n: {2} Tq: {3}", _currentState.AbsTime.TotalSeconds, ex.Message,
...@@ -152,11 +152,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl ...@@ -152,11 +152,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
if (_currentState.FullDragPower >= 0 && requestedEnginePower < 0) { if (_currentState.FullDragPower >= 0 && requestedEnginePower < 0) {
throw new VectoSimulationException(String.Format("t: {0} P_engine_drag > 0! n: {1} [1/min] ", throw new VectoSimulationException(String.Format("t: {0} P_engine_drag > 0! n: {1} [1/min] ",
_currentState.AbsTime, _currentState.EngineSpeed.To().Rounds.Per.Minute)); _currentState.AbsTime, _currentState.EngineSpeed.ConvertTo().Rounds.Per.Minute));
} }
if (_currentState.DynamicFullLoadPower <= 0 && requestedEnginePower > 0) { if (_currentState.DynamicFullLoadPower <= 0 && requestedEnginePower > 0) {
throw new VectoSimulationException(String.Format("t: {0} P_engine_full < 0! n: {1} [1/min] ", throw new VectoSimulationException(String.Format("t: {0} P_engine_full < 0! n: {1} [1/min] ",
_currentState.AbsTime, _currentState.EngineSpeed.To().Rounds.Per.Minute)); _currentState.AbsTime, _currentState.EngineSpeed.ConvertTo().Rounds.Per.Minute));
} }
} }
...@@ -267,7 +267,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl ...@@ -267,7 +267,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
var deltaEngineSpeed = engineSpeed - _previousState.EngineSpeed; var deltaEngineSpeed = engineSpeed - _previousState.EngineSpeed;
var avgEngineSpeed = (_previousState.EngineSpeed + engineSpeed) / 2.0.SI<Second>(); var avgEngineSpeed = (_previousState.EngineSpeed + engineSpeed) / 2.0.SI<Second>();
var result = _data.Inertia * deltaEngineSpeed * avgEngineSpeed; var result = _data.Inertia * deltaEngineSpeed * avgEngineSpeed;
return result.As<Watt>(); return result.Cast<Watt>();
} }
public class EngineState public class EngineState
......
...@@ -51,7 +51,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl ...@@ -51,7 +51,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
} }
return _outPort.Request(absTime, dt, Data.Entries[index].VehicleSpeed, return _outPort.Request(absTime, dt, Data.Entries[index].VehicleSpeed,
Data.Entries[index].RoadGradient.SI().GradientPercent.As<Radian>()); Data.Entries[index].RoadGradient.SI().GradientPercent.Cast<Radian>());
} }
#endregion #endregion
......
...@@ -50,7 +50,7 @@ namespace TUGraz.VectoCore.Utils ...@@ -50,7 +50,7 @@ namespace TUGraz.VectoCore.Utils
/// <returns></returns> /// <returns></returns>
public static RadianPerSecond RPMtoRad(this double d) public static RadianPerSecond RPMtoRad(this double d)
{ {
return d.SI().Rounds.Per.Minute.To().Radian.Per.Second.As<RadianPerSecond>(); return d.SI().Rounds.Per.Minute.ConvertTo().Radian.Per.Second.Cast<RadianPerSecond>();
} }
/// <summary> /// <summary>
......
...@@ -29,12 +29,12 @@ namespace TUGraz.VectoCore.Utils ...@@ -29,12 +29,12 @@ namespace TUGraz.VectoCore.Utils
public static RadianPerSecond operator /(Watt watt, NewtonMeter newtonMeter) public static RadianPerSecond operator /(Watt watt, NewtonMeter newtonMeter)
{ {
return ((watt as SI) / newtonMeter).As<RadianPerSecond>(); return ((watt as SI) / newtonMeter).Cast<RadianPerSecond>();
} }
public static NewtonMeter operator /(Watt watt, RadianPerSecond radianPerSecond) public static NewtonMeter operator /(Watt watt, RadianPerSecond radianPerSecond)
{ {
return ((watt as SI) / radianPerSecond).As<NewtonMeter>(); return ((watt as SI) / radianPerSecond).Cast<NewtonMeter>();
} }
} }
...@@ -44,7 +44,7 @@ namespace TUGraz.VectoCore.Utils ...@@ -44,7 +44,7 @@ namespace TUGraz.VectoCore.Utils
public static Watt operator *(RadianPerSecond radianPerSecond, NewtonMeter newtonMeter) public static Watt operator *(RadianPerSecond radianPerSecond, NewtonMeter newtonMeter)
{ {
return ((radianPerSecond as SI) * newtonMeter).As<Watt>(); return ((radianPerSecond as SI) * newtonMeter).Cast<Watt>();
} }
} }
...@@ -59,12 +59,12 @@ namespace TUGraz.VectoCore.Utils ...@@ -59,12 +59,12 @@ namespace TUGraz.VectoCore.Utils
public static Watt operator *(NewtonMeter newtonMeter, RadianPerSecond radianPerSecond) public static Watt operator *(NewtonMeter newtonMeter, RadianPerSecond radianPerSecond)
{ {
return ((newtonMeter as SI) * radianPerSecond).As<Watt>(); return ((newtonMeter as SI) * radianPerSecond).Cast<Watt>();
} }
public static Second operator /(NewtonMeter newtonMeter, Watt watt) public static Second operator /(NewtonMeter newtonMeter, Watt watt)
{ {
return ((newtonMeter as SI) / watt).As<Second>(); return ((newtonMeter as SI) / watt).Cast<Second>();
} }
} }
...@@ -87,7 +87,7 @@ namespace TUGraz.VectoCore.Utils ...@@ -87,7 +87,7 @@ namespace TUGraz.VectoCore.Utils
public static T operator +(SIBase<T> si1, SI si2) public static T operator +(SIBase<T> si1, SI si2)
{ {
return ((si1 as SI) + si2).As<T>(); return ((si1 as SI) + si2).Cast<T>();
} }
public static T operator +(SI si1, SIBase<T> si2) public static T operator +(SI si1, SIBase<T> si2)
...@@ -97,7 +97,7 @@ namespace TUGraz.VectoCore.Utils ...@@ -97,7 +97,7 @@ namespace TUGraz.VectoCore.Utils
public static T operator +(SIBase<T> si1, double d) public static T operator +(SIBase<T> si1, double d)
{ {
return ((si1 as SI) + d).As<T>(); return ((si1 as SI) + d).Cast<T>();
} }
public static T operator +(double d, SIBase<T> si) public static T operator +(double d, SIBase<T> si)
...@@ -117,17 +117,17 @@ namespace TUGraz.VectoCore.Utils ...@@ -117,17 +117,17 @@ namespace TUGraz.VectoCore.Utils
public static T operator -(SI si1, SIBase<T> si2) public static T operator -(SI si1, SIBase<T> si2)
{ {
return (si1 - (si2 as SI)).As<T>(); return (si1 - (si2 as SI)).Cast<T>();
} }
public static T operator -(SIBase<T> si, double d) public static T operator -(SIBase<T> si, double d)
{ {
return ((si as SI) - d).As<T>(); return ((si as SI) - d).Cast<T>();
} }
public static T operator -(double d, SIBase<T> si) public static T operator -(double d, SIBase<T> si)
{ {
return (d - (si as SI)).As<T>(); return (d - (si as SI)).Cast<T>();
} }
public static T operator *(double d, SIBase<T> si) public static T operator *(double d, SIBase<T> si)
...@@ -137,7 +137,7 @@ namespace TUGraz.VectoCore.Utils ...@@ -137,7 +137,7 @@ namespace TUGraz.VectoCore.Utils
public static T operator *(SIBase<T> si, double d) public static T operator *(SIBase<T> si, double d)
{ {
return ((si as SI) * d).As<T>(); return ((si as SI) * d).Cast<T>();
} }
public static T operator /(double d, SIBase<T> si) public static T operator /(double d, SIBase<T> si)
...@@ -147,7 +147,7 @@ namespace TUGraz.VectoCore.Utils ...@@ -147,7 +147,7 @@ namespace TUGraz.VectoCore.Utils
public static T operator /(SIBase<T> si, double d) public static T operator /(SIBase<T> si, double d)
{ {
return ((si as SI) / d).As<T>(); return ((si as SI) / d).Cast<T>();
} }
#endregion #endregion
...@@ -262,13 +262,13 @@ namespace TUGraz.VectoCore.Utils ...@@ -262,13 +262,13 @@ namespace TUGraz.VectoCore.Utils
} }
/// <summary> /// <summary>
/// Converts the SI unit to another SI unit, defined by term(s) following after the To(). /// Converts the SI unit to another SI unit, defined by term(s) following after the ConvertTo().
/// The Conversion Mode is active until an arithmetic operator is used (+,-,*,/), /// The Conversion Mode is active until an arithmetic operator is used (+,-,*,/),
/// or the .Value-Method, or the .As-Method were called. /// or the .Value-Method, or the .Cast-Method were called.
/// ATTENTION: Before returning an SI Unit, ensure to cancel Conversion Mode (with .Value or .As). /// ATTENTION: Before returning an SI Unit, ensure to cancel Conversion Mode (with .Value or .Cast).
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public SI To() public SI ConvertTo()
{ {
return new SI(Linear, reciproc: false, reverse: true); return new SI(Linear, reciproc: false, reverse: true);
} }
...@@ -278,7 +278,7 @@ namespace TUGraz.VectoCore.Utils ...@@ -278,7 +278,7 @@ namespace TUGraz.VectoCore.Utils
/// </summary> /// </summary>
/// <typeparam name="T"></typeparam> /// <typeparam name="T"></typeparam>
/// <returns></returns> /// <returns></returns>
public T As<T>() where T : SIBase<T> public T Cast<T>() where T : SIBase<T>
{ {
var t = (T) Activator.CreateInstance(typeof (T), Val); var t = (T) Activator.CreateInstance(typeof (T), Val);
Contract.Assert(HasEqualUnit(t), string.Format("SI Unit Conversion failed: From {0} to {1}", this, t)); Contract.Assert(HasEqualUnit(t), string.Format("SI Unit Conversion failed: From {0} to {1}", this, t));
...@@ -321,9 +321,9 @@ namespace TUGraz.VectoCore.Utils ...@@ -321,9 +321,9 @@ namespace TUGraz.VectoCore.Utils
} }
/// <summary> /// <summary>
/// Gets the basic scalar value. /// Gets the basic double value.
/// </summary> /// </summary>
protected double ScalarValue() public double Double()
{ {
return Val; return Val;
} }
......
...@@ -66,7 +66,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation ...@@ -66,7 +66,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
Assert.AreEqual(absTime, outPort.AbsTime); Assert.AreEqual(absTime, outPort.AbsTime);
Assert.AreEqual(dt, outPort.Dt); Assert.AreEqual(dt, outPort.Dt);
Assert.AreEqual(0.0.SI<MeterPerSecond>(), outPort.Velocity); Assert.AreEqual(0.0.SI<MeterPerSecond>(), outPort.Velocity);
Assert.AreEqual((-0.020237973).SI().GradientPercent.As<Radian>(), outPort.Gradient); Assert.AreEqual((-0.020237973).SI().GradientPercent.Cast<Radian>(), outPort.Gradient);
} }
[TestMethod] [TestMethod]
......
...@@ -34,7 +34,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData ...@@ -34,7 +34,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData
for (var i = 1; i < lines.Count(); i++) { for (var i = 1; i < lines.Count(); i++) {
var entry = lines[i].Split(',').Select(x => double.Parse(x, CultureInfo.InvariantCulture)).ToArray(); var entry = lines[i].Split(',').Select(x => double.Parse(x, CultureInfo.InvariantCulture)).ToArray();
try { try {
Assert.AreEqual((double) entry[2].SI().Gramm.Per.Hour.To().Kilo.Gramm.Per.Second, Assert.AreEqual((double) entry[2].SI().Gramm.Per.Hour.ConvertTo().Kilo.Gramm.Per.Second,
(double) map.GetFuelConsumption(entry[1].SI<NewtonMeter>(), entry[0].RPMtoRad()), (double) map.GetFuelConsumption(entry[1].SI<NewtonMeter>(), entry[0].RPMtoRad()),
Tolerance, Tolerance,
string.Format("Line: {0}, n={1}, T={2}", (i + 2), entry[0].SI().Rounds.Per.Minute, entry[1])); string.Format("Line: {0}, n={1}, T={2}", (i + 2), entry[0].SI().Rounds.Per.Minute, entry[1]));
......
...@@ -41,11 +41,11 @@ namespace TUGraz.VectoCore.Tests.Utils ...@@ -41,11 +41,11 @@ namespace TUGraz.VectoCore.Tests.Utils
Assert.AreEqual(5.0, (double) kg); Assert.AreEqual(5.0, (double) kg);
Assert.AreEqual("5 [kg]", kg.ToString()); Assert.AreEqual("5 [kg]", kg.ToString());
kg = kg.To().Kilo.Gramm.Value(); kg = kg.ConvertTo().Kilo.Gramm.Value();
Assert.AreEqual(5.0, (double) kg); Assert.AreEqual(5.0, (double) kg);
Assert.AreEqual("5 [kg]", kg.ToString()); Assert.AreEqual("5 [kg]", kg.ToString());
kg = kg.To().Gramm.Value(); kg = kg.ConvertTo().Gramm.Value();
Assert.AreEqual(5000, (double) kg); Assert.AreEqual(5000, (double) kg);
Assert.AreEqual("5000 [g]", kg.ToString()); Assert.AreEqual("5000 [g]", kg.ToString());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment