private void RecalculateCurves(object sender, RoutedEventArgs e) {
var dlg = new CarTransmissionLossSelector(Car);
dlg.ShowDialog();
if (!dlg.IsResultOk) return;
var lossMultipler = 100.0 / (100.0 - dlg.Value);
Lut torque;
try {
torque = TorquePhysicUtils.LoadCarTorque(Car.AcdData);
} catch (FileNotFoundException) {
return;
}
torque.TransformSelf(x => x.Y * lossMultipler);
var power = TorquePhysicUtils.TorqueToPower(torque);
TorqueGraph = new GraphData(torque);
PowerGraph = new GraphData(power);
if (ShowMessage(AppStrings.CarSpecs_CopyNewPowerAndTorque, AppStrings.Common_OneMoreThing, MessageBoxButton.YesNo) == MessageBoxResult.Yes) {
// MaxY values were updated while creating new GraphData instances above
TorqueInput.Text = Format(AppStrings.CarSpecs_Torque_FormatTooltip, torque.MaxY.ToString(@"F0", CultureInfo.InvariantCulture));
PowerInput.Text = Format(AppStrings.CarSpecs_Power_FormatTooltip, power.MaxY.ToString(@"F0", CultureInfo.InvariantCulture));
}
}