rawaccel/grapher/Models/Charts/ChartState/XYOneGraphState.cs
2021-01-18 22:02:29 -08:00

45 lines
1.5 KiB
C#

using grapher.Models.Calculations;
using grapher.Models.Calculations.Data;
using grapher.Models.Serialized;
namespace grapher.Models.Charts.ChartState
{
public class XYOneGraphState : ChartState
{
public XYOneGraphState(
ChartXY sensitivityChart,
ChartXY velocityChart,
ChartXY gainChart,
EstimatedPoints xPoints,
EstimatedPoints yPoints,
AccelCalculator accelCalculator)
: base(
sensitivityChart,
velocityChart,
gainChart,
accelCalculator)
{
DataDirectional = new AccelDataXYDirectional(xPoints, yPoints, accelCalculator);
Data = DataDirectional;
TwoDotsPerGraph = true;
}
private AccelDataXYDirectional DataDirectional { get; }
public override void Activate()
{
SensitivityChart.SetCombined();
VelocityChart.SetCombined();
GainChart.SetCombined();
}
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(DataDirectional.SensitivityMin, DataDirectional.SensitivityMax);
GainChart.SetMinMax(DataDirectional.GainMin, DataDirectional.GainMax);
}
}
}