private void PopulateSampleData(LineGraphModel model, int lapCount, int maxFrameCount, LineGraphSeries series, float scale) { float lastValue = series.Minimum + ((series.Maximum - series.Minimum) / 2); for (int lapIdx = 0; lapIdx < lapCount; lapIdx++) { model.SetValue(lapIdx, 0, series.FieldIndex, lastValue); for (int frameIdx = 1; frameIdx < maxFrameCount; frameIdx++) { float valueDelta = (float)((_randomValueGenerator.NextDouble() - .5F) * scale); float newValue = lastValue + valueDelta; if (newValue > series.Maximum) { newValue = series.Maximum; } if (newValue < series.Minimum) { newValue = series.Minimum; } model.SetValue(lapIdx, frameIdx, series.FieldIndex, newValue); lastValue = newValue; } } }
private LineGraphModel BuildTestModel() { int lapCount = 10; int maxFrameCount = 1000; var series = new List <LineGraphSeries>(); var rpmSeries = new RpmLineGraphSeries() { YAxis = new RpmYAxis() }; series.Add(rpmSeries); var steeringSeries = new SteeringLineGraphSeries() { YAxis = new SteeringYAxis() }; series.Add(steeringSeries); var throttleSeries = new ThrottleLineGraphSeries() { YAxis = new ThrottleYAxis() }; series.Add(throttleSeries); var brakeSeries = new BrakeLineGraphSeries() { YAxis = new BrakeYAxis() }; series.Add(brakeSeries); var model = new LineGraphModel(lapCount, maxFrameCount, series.Count); model.AddSeries(rpmSeries); model.AddSeries(steeringSeries); model.AddSeries(throttleSeries); model.AddSeries(brakeSeries); PopulateSampleData(model, lapCount, maxFrameCount, rpmSeries, 100); PopulateSampleData(model, lapCount, maxFrameCount, steeringSeries, 3); PopulateSampleData(model, lapCount, maxFrameCount, throttleSeries, .1F); PopulateSampleData(model, lapCount, maxFrameCount, brakeSeries, .1F); return(model); }
protected virtual void SetModel(string fileName) { if (InvokeRequired) { BeginInvoke(new MethodInvoker(() => { SetModel(fileName); })); } else { try { _graph.Model = LineGraphModel.Load(fileName); } catch (Exception ex) { ExceptionHandler(ex); } } }
private void btnLoad_Click(object sender, EventArgs e) { this.telemetryLineGraph1.Model = LineGraphModel.Load(Path.Combine(@"C:\Users\rroberts\Telemetry\iRacingTelemetry\Series", $"DefaultLineGraphModel.json")); }