summaryrefslogtreecommitdiff
path: root/grapher/Models/Charts
diff options
context:
space:
mode:
authorJacob Palecki <[email protected]>2020-08-12 20:39:53 -0700
committerJacob Palecki <[email protected]>2020-08-12 20:39:53 -0700
commit30e1391b224ae028f4476e06a07415a0285ac6c9 (patch)
treea70694de4ca5e8e9f947ce6a1355c7a134d491b8 /grapher/Models/Charts
parentFactor accel calculations into calculation classes (diff)
downloadrawaccel-30e1391b224ae028f4476e06a07415a0285ac6c9.tar.xz
rawaccel-30e1391b224ae028f4476e06a07415a0285ac6c9.zip
Almost working
Diffstat (limited to 'grapher/Models/Charts')
-rw-r--r--grapher/Models/Charts/AccelCharts.cs59
-rw-r--r--grapher/Models/Charts/ChartXY.cs6
2 files changed, 51 insertions, 14 deletions
diff --git a/grapher/Models/Charts/AccelCharts.cs b/grapher/Models/Charts/AccelCharts.cs
index 4ed44c7..0728abc 100644
--- a/grapher/Models/Charts/AccelCharts.cs
+++ b/grapher/Models/Charts/AccelCharts.cs
@@ -22,13 +22,15 @@ namespace grapher
ChartXY sensitivityChart,
ChartXY velocityChart,
ChartXY gainChart,
- ToolStripMenuItem enableVelocityAndGain)
+ ToolStripMenuItem enableVelocityAndGain,
+ ICollection<CheckBox> checkBoxesXY)
{
ContaingForm = form;
SensitivityChart = sensitivityChart;
VelocityChart = velocityChart;
GainChart = gainChart;
EnableVelocityAndGain = enableVelocityAndGain;
+ CheckBoxesXY = checkBoxesXY;
SensitivityChart.SetTop(0);
VelocityChart.SetHeight(SensitivityChart.Height);
@@ -56,15 +58,38 @@ namespace grapher
public ToolStripMenuItem EnableVelocityAndGain { get; }
+ private ICollection<CheckBox> CheckBoxesXY { get; }
+
private bool Combined { get; set; }
private int FormBorderHeight { get; }
public void Bind(AccelData data)
{
- SensitivityChart.Bind(data.OrderedAccelPoints);
- VelocityChart.Bind(data.OrderedVelocityPoints);
- GainChart.Bind(data.OrderedGainPoints);
+ if (Combined)
+ {
+ SensitivityChart.Bind(data.Combined.AccelPoints);
+ VelocityChart.Bind(data.Combined.VelocityPoints);
+ GainChart.Bind(data.Combined.GainPoints);
+ }
+ else
+ {
+ SensitivityChart.BindXY(data.X.AccelPoints, data.Y.AccelPoints);
+ VelocityChart.BindXY(data.X.VelocityPoints, data.Y.VelocityPoints);
+ GainChart.BindXY(data.X.GainPoints, data.Y.GainPoints);
+ }
+ }
+
+ public void RefreshXY()
+ {
+ if (CheckBoxesXY.All(box => box.Checked))
+ {
+ ShowCombined();
+ }
+ else
+ {
+ ShowXandYSeparate();
+ }
}
private void OnEnableClick(object sender, EventArgs e)
@@ -105,20 +130,26 @@ namespace grapher
private void ShowXandYSeparate()
{
- SensitivityChart.SetSeparate();
- VelocityChart.SetSeparate();
- GainChart.SetSeparate();
- UpdateFormWidth();
- Combined = false;
+ if (Combined)
+ {
+ SensitivityChart.SetSeparate();
+ VelocityChart.SetSeparate();
+ GainChart.SetSeparate();
+ UpdateFormWidth();
+ Combined = false;
+ }
}
private void ShowCombined()
{
- SensitivityChart.SetCombined();
- VelocityChart.SetCombined();
- GainChart.SetCombined();
- UpdateFormWidth();
- Combined = true;
+ if (!Combined)
+ {
+ SensitivityChart.SetCombined();
+ VelocityChart.SetCombined();
+ GainChart.SetCombined();
+ UpdateFormWidth();
+ Combined = true;
+ }
}
private void UpdateFormWidth()
diff --git a/grapher/Models/Charts/ChartXY.cs b/grapher/Models/Charts/ChartXY.cs
index a57801e..7bb7ac8 100644
--- a/grapher/Models/Charts/ChartXY.cs
+++ b/grapher/Models/Charts/ChartXY.cs
@@ -95,6 +95,12 @@ namespace grapher
ChartX.Series[0].Points.DataBindXY(data.Keys, data.Values);
}
+ public void BindXY(IDictionary dataX, IDictionary dataY)
+ {
+ ChartX.Series[0].Points.DataBindXY(dataX.Keys, dataX.Values);
+ ChartY.Series[0].Points.DataBindXY(dataY.Keys, dataY.Values);
+ }
+
public void SetCombined()
{
if (!Combined)