From 064a839e731d7d96922b468330fab5c065609a01 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Wed, 25 Jul 2018 14:03:04 +0300 Subject: Implemented graphs auto range, pause & clear in tech board module. --- .../RealTimeGraphEx/FastGraphs/RealTimeGraphExLineErase.cs | 9 +++++++++ .../RealTimeGraphEx/FastGraphs/RealTimeGraphExLineScroll.cs | 9 +++++++++ .../RealTimeGraphEx/FastGraphs/RealTimeGraphExMultiLineErase.cs | 9 +++++++++ .../RealTimeGraphEx/FastGraphs/RealTimeGraphExMultiLineScroll.cs | 9 +++++++++ 4 files changed, 36 insertions(+) (limited to 'Software/Visual_Studio/SideChains/RealTimeGraphEx/FastGraphs') diff --git a/Software/Visual_Studio/SideChains/RealTimeGraphEx/FastGraphs/RealTimeGraphExLineErase.cs b/Software/Visual_Studio/SideChains/RealTimeGraphEx/FastGraphs/RealTimeGraphExLineErase.cs index f1902e662..b8810e32f 100644 --- a/Software/Visual_Studio/SideChains/RealTimeGraphEx/FastGraphs/RealTimeGraphExLineErase.cs +++ b/Software/Visual_Studio/SideChains/RealTimeGraphEx/FastGraphs/RealTimeGraphExLineErase.cs @@ -110,6 +110,15 @@ namespace RealTimeGraphEx.FastGraphs { var points = _graphController.dataSeries.Points.GetAndClearAllPoints(); + if (_useAutoRange && points.Count > 0) + { + Dispatcher.Invoke(() => + { + Maximum = points.Concat(graphPolygon.GetPoints()).Max(); + Minimum = points.Concat(graphPolygon.GetPoints()).Min(); + }); + } + if (!_isPaused) { diff --git a/Software/Visual_Studio/SideChains/RealTimeGraphEx/FastGraphs/RealTimeGraphExLineScroll.cs b/Software/Visual_Studio/SideChains/RealTimeGraphEx/FastGraphs/RealTimeGraphExLineScroll.cs index a2260030c..1adf9a134 100644 --- a/Software/Visual_Studio/SideChains/RealTimeGraphEx/FastGraphs/RealTimeGraphExLineScroll.cs +++ b/Software/Visual_Studio/SideChains/RealTimeGraphEx/FastGraphs/RealTimeGraphExLineScroll.cs @@ -144,6 +144,15 @@ namespace RealTimeGraphEx.FastGraphs { var points = _graphController.dataSeries.Points.GetAndClearAllPoints(); + if (_useAutoRange && points.Count > 0) + { + Dispatcher.Invoke(() => + { + Maximum = points.Concat(graphPolygon.GetPoints()).Max(); + Minimum = points.Concat(graphPolygon.GetPoints()).Min(); + }); + } + if (!_isPaused) { diff --git a/Software/Visual_Studio/SideChains/RealTimeGraphEx/FastGraphs/RealTimeGraphExMultiLineErase.cs b/Software/Visual_Studio/SideChains/RealTimeGraphEx/FastGraphs/RealTimeGraphExMultiLineErase.cs index fd5f27e99..d56b5533d 100644 --- a/Software/Visual_Studio/SideChains/RealTimeGraphEx/FastGraphs/RealTimeGraphExMultiLineErase.cs +++ b/Software/Visual_Studio/SideChains/RealTimeGraphEx/FastGraphs/RealTimeGraphExMultiLineErase.cs @@ -90,6 +90,15 @@ namespace RealTimeGraphEx.FastGraphs { var pointsCollection = _graphController.GetAndClearAllPoints(); + if (_useAutoRange && pointsCollection.Count > 0) + { + Dispatcher.Invoke(() => + { + Maximum = pointsCollection.SelectMany(x => x).Concat(_graphPolygons.SelectMany(x => x.GetPoints())).Max(); + Minimum = pointsCollection.SelectMany(x => x).Concat(_graphPolygons.SelectMany(x => x.GetPoints())).Min(); + }); + } + if (!_isPaused) { diff --git a/Software/Visual_Studio/SideChains/RealTimeGraphEx/FastGraphs/RealTimeGraphExMultiLineScroll.cs b/Software/Visual_Studio/SideChains/RealTimeGraphEx/FastGraphs/RealTimeGraphExMultiLineScroll.cs index 2f911a6c4..7cd7f74f1 100644 --- a/Software/Visual_Studio/SideChains/RealTimeGraphEx/FastGraphs/RealTimeGraphExMultiLineScroll.cs +++ b/Software/Visual_Studio/SideChains/RealTimeGraphEx/FastGraphs/RealTimeGraphExMultiLineScroll.cs @@ -132,6 +132,15 @@ namespace RealTimeGraphEx.FastGraphs { var pointsCollection = _graphController.GetAndClearAllPoints(); + if (_useAutoRange && pointsCollection.Count > 0) + { + Dispatcher.Invoke(() => + { + Maximum = pointsCollection.SelectMany(x => x).Concat(_graphPolygons.SelectMany(x => x.GetPoints())).Max(); + Minimum = pointsCollection.SelectMany(x => x).Concat(_graphPolygons.SelectMany(x => x.GetPoints())).Min(); + }); + } + if (!_isPaused) { -- cgit v1.3.1