summaryrefslogtreecommitdiff
path: root/grapher/AccelGUI.cs
diff options
context:
space:
mode:
authorJacob Palecki <[email protected]>2020-08-02 15:54:47 -0700
committerJacob Palecki <[email protected]>2020-08-02 15:54:47 -0700
commit529f18bd6ddbcd182fd03a13e3c07dc10162f036 (patch)
treed71ba432d3f6a2c79ec41901f05e95eeed23aeb6 /grapher/AccelGUI.cs
parentMove logic out of forms class into accelgui class (diff)
downloadrawaccel-529f18bd6ddbcd182fd03a13e3c07dc10162f036.tar.xz
rawaccel-529f18bd6ddbcd182fd03a13e3c07dc10162f036.zip
Add velocity graph
Diffstat (limited to 'grapher/AccelGUI.cs')
-rw-r--r--grapher/AccelGUI.cs31
1 files changed, 24 insertions, 7 deletions
diff --git a/grapher/AccelGUI.cs b/grapher/AccelGUI.cs
index d372869..9acb38e 100644
--- a/grapher/AccelGUI.cs
+++ b/grapher/AccelGUI.cs
@@ -25,6 +25,7 @@ namespace grapher
public AccelGUI(
RawAcceleration accelForm,
Chart accelerationChart,
+ Chart velocityChart,
ManagedAccel managedAccel,
AccelOptions accelOptions,
OptionXY sensitivity,
@@ -38,6 +39,7 @@ namespace grapher
{
AccelForm = accelForm;
AccelChart = accelerationChart;
+ VelocityChart = velocityChart;
ManagedAcceleration = managedAccel;
AccelerationOptions = accelOptions;
Sensitivity = sensitivity;
@@ -60,6 +62,8 @@ namespace grapher
public Chart AccelChart { get; }
+ public Chart VelocityChart { get; }
+
public ManagedAccel ManagedAcceleration { get; }
public AccelOptions AccelerationOptions { get; }
@@ -118,7 +122,8 @@ namespace grapher
public void UpdateGraph()
{
- var orderedPoints = new SortedDictionary<double, double>();
+ var orderedAccelPoints = new SortedDictionary<double, double>();
+ var orderedVelocityPoints = new SortedDictionary<double, double>();
foreach (var magnitudeData in Magnitudes)
{
@@ -127,20 +132,32 @@ namespace grapher
var outMagnitude = Magnitude(output.Item1, output.Item2);
var ratio = magnitudeData.magnitude > 0 ? outMagnitude / magnitudeData.magnitude : Sensitivity.Fields.X;
- if (!orderedPoints.ContainsKey(magnitudeData.magnitude))
+ if (!orderedAccelPoints.ContainsKey(magnitudeData.magnitude))
+ {
+ orderedAccelPoints.Add(magnitudeData.magnitude, ratio);
+ }
+
+ if (!orderedVelocityPoints.ContainsKey(magnitudeData.magnitude))
{
- orderedPoints.Add(magnitudeData.magnitude, ratio);
+ orderedVelocityPoints.Add(magnitudeData.magnitude, outMagnitude);
}
}
- var series = AccelChart.Series.FirstOrDefault();
- series.Points.Clear();
+ var accelSeries = AccelChart.Series.FirstOrDefault();
+ accelSeries.Points.Clear();
- foreach (var point in orderedPoints)
+ foreach (var point in orderedAccelPoints)
{
- series.Points.AddXY(point.Key, point.Value);
+ accelSeries.Points.AddXY(point.Key, point.Value);
}
+ var velSeries = VelocityChart.Series.FirstOrDefault();
+ velSeries.Points.Clear();
+
+ foreach (var point in orderedVelocityPoints)
+ {
+ velSeries.Points.AddXY(point.Key, point.Value);
+ }
}