diff options
| author | Avi Levkovich <avi@twine-s.com> | 2018-07-25 15:44:00 +0300 |
|---|---|---|
| committer | Avi Levkovich <avi@twine-s.com> | 2018-07-25 15:44:00 +0300 |
| commit | 76fb3f86bfaceb75220752cd5ef792eb3be464cc (patch) | |
| tree | 76755bbae2bbe4ece5f474a11424a918dbf33b5b /Software/Visual_Studio/SideChains/RealTimeGraphEx | |
| parent | caf4be8968eed6738fdaa2486fa08ba601c45be4 (diff) | |
| parent | d5a855a3980a835460befab0acc36caa7f0230b7 (diff) | |
| download | Tango-76fb3f86bfaceb75220752cd5ef792eb3be464cc.tar.gz Tango-76fb3f86bfaceb75220752cd5ef792eb3be464cc.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/SideChains/RealTimeGraphEx')
6 files changed, 53 insertions, 1 deletions
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) { diff --git a/Software/Visual_Studio/SideChains/RealTimeGraphEx/Properties/AssemblyInfo.cs b/Software/Visual_Studio/SideChains/RealTimeGraphEx/Properties/AssemblyInfo.cs index e4578b5db..0441103ba 100644 --- a/Software/Visual_Studio/SideChains/RealTimeGraphEx/Properties/AssemblyInfo.cs +++ b/Software/Visual_Studio/SideChains/RealTimeGraphEx/Properties/AssemblyInfo.cs @@ -51,5 +51,5 @@ using System.Windows; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.7.1321")] +[assembly: AssemblyVersion("1.0.9.1411")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Software/Visual_Studio/SideChains/RealTimeGraphEx/RealTimeGraphExBase.cs b/Software/Visual_Studio/SideChains/RealTimeGraphEx/RealTimeGraphExBase.cs index a2060d10e..c5eaaf4af 100644 --- a/Software/Visual_Studio/SideChains/RealTimeGraphEx/RealTimeGraphExBase.cs +++ b/Software/Visual_Studio/SideChains/RealTimeGraphEx/RealTimeGraphExBase.cs @@ -169,6 +169,8 @@ namespace RealTimeGraphEx control.MinMaxChanged?.Invoke(control, new EventArgs()); })); + + /// <summary> /// Gets or sets the graph refresh rate in milliseconds (default 30, affects performance). /// </summary> @@ -375,6 +377,18 @@ namespace RealTimeGraphEx public static readonly DependencyProperty MaxPointsProperty = DependencyProperty.Register("MaxPoints", typeof(int), typeof(RealTimeGraphExBase), new PropertyMetadata(1000, new PropertyChangedCallback(CrossModelChanged))); + + /// <summary> + /// Gets or sets a value indicating whether [use automatic range]. + /// </summary> + public bool UseAutoRange + { + get { return (bool)GetValue(UseAutoRangeProperty); } + set { SetValue(UseAutoRangeProperty, value); } + } + public static readonly DependencyProperty UseAutoRangeProperty = + DependencyProperty.Register("UseAutoRange", typeof(bool), typeof(RealTimeGraphExBase), new PropertyMetadata(false, new PropertyChangedCallback(CrossModelChanged))); + #endregion #region Cross Thread Fields @@ -392,6 +406,7 @@ namespace RealTimeGraphEx protected bool _antialiased; protected bool _isPaused; protected bool _disableRendering; + protected bool _useAutoRange; #endregion #region Constructors @@ -696,6 +711,7 @@ namespace RealTimeGraphEx virtualMaximum = Maximum; virtualStart = 0; virtualEnd = gridMain.ActualWidth; + _useAutoRange = UseAutoRange; RenderOptions.SetEdgeMode(this, _antialiased ? EdgeMode.Unspecified : EdgeMode.Aliased); }, DispatcherPriority.Send); |
