summaryrefslogtreecommitdiff
path: root/grapher/Models/Charts
diff options
context:
space:
mode:
authorJacob Palecki <[email protected]>2021-01-18 22:02:29 -0800
committerJacob Palecki <[email protected]>2021-01-18 22:02:29 -0800
commit4faf0007c7c551fae8fd25fc7a98767070cb9244 (patch)
tree9aec833ce5453ae853148c387410cb9b792c1e2e /grapher/Models/Charts
parentRefactor for new graph calculation method (diff)
downloadrawaccel-4faf0007c7c551fae8fd25fc7a98767070cb9244.tar.xz
rawaccel-4faf0007c7c551fae8fd25fc7a98767070cb9244.zip
Directional works
Diffstat (limited to 'grapher/Models/Charts')
-rw-r--r--grapher/Models/Charts/AccelCharts.cs11
-rw-r--r--grapher/Models/Charts/ChartState/ChartState.cs10
-rw-r--r--grapher/Models/Charts/ChartState/ChartStateManager.cs3
-rw-r--r--grapher/Models/Charts/ChartState/CombinedState.cs10
-rw-r--r--grapher/Models/Charts/ChartState/XYOneGraphState.cs23
-rw-r--r--grapher/Models/Charts/ChartState/XYTwoGraphState.cs11
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);
- }
}
}