/// <summary> /// Method to display the Outputs of Each Setup Change. If a particular param is not requested the initial value is shown /// </summary> /// <param name="_oc"></param> /// <param name="_setupOP"></param> /// <param name="_cv"></param> /// <param name="_resultsGUI"></param> /// <param name="_resultsGrid"></param> /// <param name="_converged"></param> public void DisplayIndividualOutputs(OutputClass _oc, SetupChange_Outputs _setupOP, SetupChange_CornerVariables _cv, XUC_SetupChangeResults _resultsGUI, VGridControl _resultsGrid, ref bool _converged) { string test = _cv.kpiAdjustmentTool.ToString(); ///<summary>Assining the KPI Outputs</summary> _resultsGrid.SetCellValue(_resultsGUI.rowKPIAngle, 1, Convert.ToString(Math.Round(Angle.FromRadians(_oc.KPI).Degrees, 2)) + " | " + Convert.ToString(Math.Round(_setupOP.Calc_KPI.Degrees, 2))); if (_cv.KPIChangeRequested || _cv.constKPI || _cv.CasterChangeRequested || _cv.constCaster) { if (_cv.Master_Adj["Caster/KPI"].ContainsKey(AdjustmentTools.TopFrontArm.ToString())) { _resultsGrid.SetCellValue(_resultsGUI.rowTopFrontAdj, 1, Convert.ToString(Math.Round(_setupOP.TopFrontLength, 3))); _resultsGUI.rowTopFrontAdj.Visible = true; } else { _resultsGUI.rowTopFrontAdj.Visible = false; } if (_cv.Master_Adj["Caster/KPI"].ContainsKey(AdjustmentTools.TopRearArm.ToString())) { _resultsGrid.SetCellValue(_resultsGUI.rowTopRearAdj, 1, Convert.ToString(Math.Round(_setupOP.TopRearLength, 3))); _resultsGUI.rowTopRearAdj.Visible = true; } else { _resultsGUI.rowTopRearAdj.Visible = false; } if (_cv.Master_Adj["Caster/KPI"].ContainsKey(AdjustmentTools.BottomFrontArm.ToString())) { _resultsGrid.SetCellValue(_resultsGUI.rowBottomFrontAdj, 1, Convert.ToString(Math.Round(_setupOP.BottomFrontLength, 3))); _resultsGUI.rowBottomFrontAdj.Visible = true; } else { _resultsGUI.rowBottomFrontAdj.Visible = false; } if (_cv.Master_Adj["Caster/KPI"].ContainsKey(AdjustmentTools.BottomRearArm.ToString())) { _resultsGrid.SetCellValue(_resultsGUI.rowBottomRearAdj, 1, Convert.ToString(Math.Round(_setupOP.BottomRearLength, 3))); _resultsGUI.rowBottomRearAdj.Visible = true; } else { _resultsGUI.rowBottomRearAdj.Visible = false; } } else { _resultsGUI.rowTopFrontAdj.Visible = false; _resultsGUI.rowTopRearAdj.Visible = false; _resultsGUI.rowBottomFrontAdj.Visible = false; _resultsGUI.rowBottomRearAdj.Visible = false; } _resultsGrid.SetCellValue(_resultsGUI.rowKPIConvergance, 1, _setupOP.KPI_Conv.ConvergenceStatus); ///<summary>Assingint the Caster Outputs</summary> _resultsGrid.SetCellValue(_resultsGUI.rowCasterAngle, 1, Convert.ToString(Math.Round(Angle.FromRadians(_oc.Caster).Degrees, 2)) + " | " + Convert.ToString(Math.Round(_setupOP.Calc_Caster.Degrees, 2))); _resultsGrid.SetCellValue(_resultsGUI.rowCasterConvergance, 1, _setupOP.Caster_Conv.ConvergenceStatus); ///<summary>Assining the Camber Outputs</summary> _resultsGrid.SetCellValue(_resultsGUI.rowCamberAngle, 1, Convert.ToString(Math.Round(Angle.FromRadians(_oc.waOP.StaticCamber).Degrees, 3)) + " | " + Convert.ToString(Math.Round(_setupOP.Calc_Camber.Degrees, 3))); if (_cv.CamberChangeRequested || _cv.constCamber) { if (_cv.Master_Adj["Camber"].ContainsKey(AdjustmentTools.TopCamberMount.ToString())) { _resultsGrid.SetCellValue(_resultsGUI.rowTopCamberMount, 1, Convert.ToString(Math.Round(_setupOP.TopCamberShimsLength, 3))); _resultsGrid.SetCellValue(_resultsGUI.rowShimsTopCamberMount, 1, Convert.ToString(Math.Round(_setupOP.TopCamberShimsNo, 3))); _resultsGUI.rowTopCamberMount.Visible = true; } else { _resultsGUI.rowTopCamberMount.Visible = false; } if (_cv.Master_Adj["Camber"].ContainsKey(AdjustmentTools.BottomCamberMount.ToString())) { _resultsGrid.SetCellValue(_resultsGUI.rowBottomCamberMount, 1, Convert.ToString(Math.Round(_setupOP.BottomCamberShimsLength, 3))); _resultsGrid.SetCellValue(_resultsGUI.rowShimsBottomCamberMount, 1, Convert.ToString(Math.Round(_setupOP.BottomCamberShimsNo, 3))); _resultsGUI.rowBottomCamberMount.Visible = true; } else { _resultsGUI.rowBottomCamberMount.Visible = false; } } else { _resultsGUI.rowTopCamberMount.Visible = false; _resultsGUI.rowBottomCamberMount.Visible = false; } _resultsGrid.SetCellValue(_resultsGUI.rowCamberConvergance, 1, _setupOP.Camber_Conv.ConvergenceStatus); ///<summary>Assigning the Toe Outputs</summary> _resultsGrid.SetCellValue(_resultsGUI.rowToeAngle, 1, Convert.ToString(Math.Round(Angle.FromRadians(_oc.waOP.StaticToe).Degrees, 3)) + " | " + Convert.ToString(Math.Round(_setupOP.Calc_Toe.Degrees, 3))); if (_cv.ToeChangeRequested || _cv.constToe) { if (_cv.Master_Adj["Toe"].ContainsKey(AdjustmentTools.ToeLinkLength.ToString())) { _resultsGrid.SetCellValue(_resultsGUI.rowToeLink, 1, Convert.ToString(Math.Round(_setupOP.ToeLinklength, 3))); _resultsGUI.rowToeLink.Visible = true; } else { _resultsGUI.rowToeLink.Visible = false; } } else { _resultsGUI.rowToeLink.Visible = false; } _resultsGrid.SetCellValue(_resultsGUI.rowToeConvergance, 1, _setupOP.Toe_Conv.ConvergenceStatus); ///<summary>Assigning the Ride Height</summary> _resultsGrid.SetCellValue(_resultsGUI.rowRideHeight, 1, _setupOP.Calc_RideHeight); _resultsGrid.SetCellValue(_resultsGUI.rowLinkRHName, 1, _cv.rideheightAdjustmentTool.ToString()); _resultsGrid.SetCellValue(rowLinkRHDelta, 1, Convert.ToString(Math.Round(_setupOP.PushrodLength, 3))); _resultsGrid.SetCellValue(_resultsGUI.rowRHConvergance, 1, _setupOP.RideHeight_Conv.ConvergenceStatus); ///<summary>Setting the results of the Bump Steer</summary> if (_cv.BumpSteerChangeRequested) { _resultsGrid.SetCellValue(rowToeLinkInboard_x, 1, Convert.ToString(Math.Round(_setupOP.ToeLinkInboard.X, 3))); _resultsGUI.rowToeLinkInboard_x.Visible = true; _resultsGrid.SetCellValue(rowToeLinkInboard_y, 1, Convert.ToString(Math.Round(_setupOP.ToeLinkInboard.Y, 3))); _resultsGUI.rowToeLinkInboard_y.Visible = true; _resultsGrid.SetCellValue(rowToeLinkInboard_z, 1, Convert.ToString(Math.Round(_setupOP.ToeLinkInboard.Z, 3))); _resultsGUI.rowToeLinkInboard_z.Visible = true; } else { _resultsGUI.rowToeLinkInboard_x.Visible = false; _resultsGUI.rowToeLinkInboard_y.Visible = false; _resultsGUI.rowToeLinkInboard_z.Visible = false; } _resultsGrid.SetCellValue(rowBSConvergence, 1, _setupOP.BumpSteer_Conv.ConvergenceStatus); }
public void PlotBumpSteerGraph(SetupChange_Outputs _setupOP, SetupChange_CornerVariables _cv, XUC_SetupChangeResults _resultsGUI) { for (int i = 0; i < _resultsGUI.bumpSteerCurve1.chartControl1.Series.Count; i++) { _resultsGUI.bumpSteerCurve1.chartControl1.Series[i].Points.Clear(); } if (_cv.monitorBumpSteer || _cv.BumpSteerChangeRequested) { ///<summary> ///Ensuring that the <see cref="SetupChange_Outputs.Calc_BumpSteerChart"/> is not null ///Basically this ensures that the if the user Ran a simulation with Bump Steer Change but didn't create a BS Chart the software doesnt't fail /// </summary> if (_setupOP.Calc_BumpSteerChart != null) { ///<summary>If the Bump Steer Change is requested then setting the Enaled status to true so that the user can scroll and zoom the Bump Steer Contro </summary> _resultsGUI.bumpSteerCurve1.Enabled = true; _resultsGUI.bumpSteerCurve1.chartControl1.Series[0].Points.Clear(); ///<summary>Setting the <see cref="BumpSteerCurve.IsOutputChart"/> value to true to teach the CHart that the Output is calling it. ///---IMPORTANT--- This is an important step so that the accidentally clicking the control doesn;t create a series point /// </summary> _resultsGUI.bumpSteerCurve1.IsOutputChart = true; for (int i = 0; i < _setupOP.Req_BumpSteerChart.Count; i++) { _resultsGUI.bumpSteerCurve1.AddPointToChart(_resultsGUI.bumpSteerCurve1.chartControl1, _cv.BS_Params.WheelDeflections[_cv.BS_Params.HighestBumpindex + i], _setupOP.Req_BumpSteerChart[i].Degrees, 0, true); } _resultsGUI.bumpSteerCurve1.AddSeriesToChart(_resultsGUI.bumpSteerCurve1.chartControl1); ///<summary>Plotting the Computed Bump Steer Chart</summary> for (int i = 0; i < _setupOP.Calc_BumpSteerChart.Count; i++) { _resultsGUI.bumpSteerCurve1.AddPointToChart(_resultsGUI.bumpSteerCurve1.chartControl1, _cv.BS_Params.WheelDeflections[_cv.BS_Params.HighestBumpindex + i], _setupOP.Calc_BumpSteerChart[i].Degrees, 1, true); } _resultsGUI.bumpSteerCurve1.Enabled = true; } } }