diff options
| author | Jacob Palecki <[email protected]> | 2021-01-18 22:02:29 -0800 |
|---|---|---|
| committer | Jacob Palecki <[email protected]> | 2021-01-18 22:02:29 -0800 |
| commit | 4faf0007c7c551fae8fd25fc7a98767070cb9244 (patch) | |
| tree | 9aec833ce5453ae853148c387410cb9b792c1e2e /grapher/Models/Charts | |
| parent | Refactor for new graph calculation method (diff) | |
| download | rawaccel-4faf0007c7c551fae8fd25fc7a98767070cb9244.tar.xz rawaccel-4faf0007c7c551fae8fd25fc7a98767070cb9244.zip | |
Directional works
Diffstat (limited to 'grapher/Models/Charts')
| -rw-r--r-- | grapher/Models/Charts/AccelCharts.cs | 11 | ||||
| -rw-r--r-- | grapher/Models/Charts/ChartState/ChartState.cs | 10 | ||||
| -rw-r--r-- | grapher/Models/Charts/ChartState/ChartStateManager.cs | 3 | ||||
| -rw-r--r-- | grapher/Models/Charts/ChartState/CombinedState.cs | 10 | ||||
| -rw-r--r-- | grapher/Models/Charts/ChartState/XYOneGraphState.cs | 23 | ||||
| -rw-r--r-- | grapher/Models/Charts/ChartState/XYTwoGraphState.cs | 11 |
6 files changed, 24 insertions, 44 deletions
diff --git a/grapher/Models/Charts/AccelCharts.cs b/grapher/Models/Charts/AccelCharts.cs index b9f7a8b..2369432 100644 --- a/grapher/Models/Charts/AccelCharts.cs +++ b/grapher/Models/Charts/AccelCharts.cs @@ -2,9 +2,7 @@ using grapher.Models.Calculations.Data; using grapher.Models.Charts; using grapher.Models.Charts.ChartState; -using grapher.Models.Serialized; using System; -using System.Drawing; using System.Windows.Forms; namespace grapher @@ -27,7 +25,14 @@ namespace grapher var estimatedX = new EstimatedPoints(); var estimatedY = new EstimatedPoints(); SetupCharts(sensitivityChart, velocityChart, gainChart, estimated, estimatedX, estimatedY); - ChartStateManager = new ChartStateManager(sensitivityChart, velocityChart, gainChart, accelData, accelCalculator); + ChartStateManager = new ChartStateManager( + sensitivityChart, + velocityChart, + gainChart, + accelCalculator, + estimated, + estimatedY, + estimatedX); ContainingForm = form; EnableVelocityAndGain = enableVelocityAndGain; diff --git a/grapher/Models/Charts/ChartState/ChartState.cs b/grapher/Models/Charts/ChartState/ChartState.cs index 2a0325c..5a86713 100644 --- a/grapher/Models/Charts/ChartState/ChartState.cs +++ b/grapher/Models/Charts/ChartState/ChartState.cs @@ -39,13 +39,19 @@ namespace grapher.Models.Charts.ChartState internal bool TwoDotsPerGraph { get; set; } - public abstract void MakeDots(double x, double y, double timeInMs); + public virtual void MakeDots(double x, double y, double timeInMs) + { + Data.CalculateDots(x, y, timeInMs); + } public abstract void Bind(); public abstract void Activate(); - public abstract void Calculate(ManagedAccel accel, DriverSettings settings); + public virtual void Calculate(ManagedAccel accel, DriverSettings settings) + { + Data.CreateGraphData(accel, settings); + } public void Redraw() { diff --git a/grapher/Models/Charts/ChartState/ChartStateManager.cs b/grapher/Models/Charts/ChartState/ChartStateManager.cs index 9ed54e1..3d4bbec 100644 --- a/grapher/Models/Charts/ChartState/ChartStateManager.cs +++ b/grapher/Models/Charts/ChartState/ChartStateManager.cs @@ -38,7 +38,8 @@ namespace grapher.Models.Charts.ChartState sensitivityChart, velocityChart, gainChat, - accelData, + xPoints, + yPoints, accelCalculator); } diff --git a/grapher/Models/Charts/ChartState/CombinedState.cs b/grapher/Models/Charts/ChartState/CombinedState.cs index 7275d16..3511cec 100644 --- a/grapher/Models/Charts/ChartState/CombinedState.cs +++ b/grapher/Models/Charts/ChartState/CombinedState.cs @@ -32,11 +32,6 @@ namespace grapher.Models.Charts.ChartState GainChart.ClearSecondDots(); } - public override void MakeDots(double x, double y, double timeInMs) - { - Data.CalculateDots(x, y, timeInMs); - } - public override void Bind() { SensitivityChart.Bind(Data.X.AccelPoints); @@ -45,10 +40,5 @@ namespace grapher.Models.Charts.ChartState SensitivityChart.SetMinMax(Data.X.MinAccel, Data.X.MaxAccel); GainChart.SetMinMax(Data.X.MinGain, Data.X.MaxGain); } - - public override void Calculate(ManagedAccel accel, DriverSettings settings) - { - Calculator.Calculate(Data.X, accel, settings.sensitivity.x, Calculator.SimulatedInputCombined); - } } } diff --git a/grapher/Models/Charts/ChartState/XYOneGraphState.cs b/grapher/Models/Charts/ChartState/XYOneGraphState.cs index 14d8850..34e9070 100644 --- a/grapher/Models/Charts/ChartState/XYOneGraphState.cs +++ b/grapher/Models/Charts/ChartState/XYOneGraphState.cs @@ -19,10 +19,13 @@ namespace grapher.Models.Charts.ChartState gainChart, accelCalculator) { - Data = new AccelDataXYDirectional(xPoints, yPoints, accelCalculator); + DataDirectional = new AccelDataXYDirectional(xPoints, yPoints, accelCalculator); + Data = DataDirectional; TwoDotsPerGraph = true; } + private AccelDataXYDirectional DataDirectional { get; } + public override void Activate() { SensitivityChart.SetCombined(); @@ -30,27 +33,13 @@ namespace grapher.Models.Charts.ChartState GainChart.SetCombined(); } - public override void MakeDots(double x, double y, double timeInMs) - { - Data.CalculateDots(x, y, timeInMs); - } - public override void Bind() { SensitivityChart.BindXYCombined(Data.X.AccelPoints, Data.Y.AccelPoints); VelocityChart.BindXYCombined(Data.X.VelocityPoints, Data.Y.VelocityPoints); GainChart.BindXYCombined(Data.X.GainPoints, Data.Y.GainPoints); - SensitivityChart.SetMinMax(Data.Combined.MinAccel, Data.Combined.MaxAccel); - GainChart.SetMinMax(Data.Combined.MinGain, Data.Combined.MaxGain); - } - - public override void Calculate(ManagedAccel accel, DriverSettings settings) - { - Calculator.CalculateCombinedDiffSens(Data, accel, settings, Calculator.SimulatedInputCombined); - Data.X.Clear(); - Data.Y.Clear(); - Calculator.Calculate(Data.X, accel, settings.sensitivity.x, Calculator.SimulatedInputX); - Calculator.Calculate(Data.Y, accel, settings.sensitivity.y, Calculator.SimulatedInputY); + SensitivityChart.SetMinMax(DataDirectional.SensitivityMin, DataDirectional.SensitivityMax); + GainChart.SetMinMax(DataDirectional.GainMin, DataDirectional.GainMax); } } } diff --git a/grapher/Models/Charts/ChartState/XYTwoGraphState.cs b/grapher/Models/Charts/ChartState/XYTwoGraphState.cs index 7dc2810..5b6c2b8 100644 --- a/grapher/Models/Charts/ChartState/XYTwoGraphState.cs +++ b/grapher/Models/Charts/ChartState/XYTwoGraphState.cs @@ -36,11 +36,6 @@ namespace grapher.Models.Charts.ChartState GainChart.ClearSecondDots(); } - public override void MakeDots(double x, double y, double timeInMs) - { - Data.CalculateDots(x, y, timeInMs); - } - public override void Bind() { SensitivityChart.BindXY(Data.X.AccelPoints, Data.Y.AccelPoints); @@ -50,11 +45,5 @@ namespace grapher.Models.Charts.ChartState SensitivityChart.SetMinMaxXY(Data.X.MinAccel, Data.X.MaxAccel, Data.Y.MinAccel, Data.Y.MaxAccel); GainChart.SetMinMaxXY(Data.X.MinGain, Data.X.MaxGain, Data.Y.MinGain, Data.Y.MaxGain); } - - public override void Calculate(ManagedAccel accel, DriverSettings settings) - { - Calculator.Calculate(Data.X, accel, settings.sensitivity.x, Calculator.SimulatedInputX); - Calculator.Calculate(Data.Y, accel, settings.sensitivity.y, Calculator.SimulatedInputY); - } } } |