LitDev.Engines.GraphEngine.scaleAxis C# (CSharp) Method

scaleAxis() public method

public scaleAxis ( string graphName, double min, double interval, double max, int axis ) : void
graphName string
min double
interval double
max double
axis int
return void
        public void scaleAxis(string graphName, double min, double interval, double max, int axis)
        {
            Type GraphicsWindowType = typeof(GraphicsWindow);
            Dictionary<string, UIElement> _objectsMap;
            UIElement obj;

            _objectsMap = (Dictionary<string, UIElement>)GraphicsWindowType.GetField("_objectsMap", BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.IgnoreCase).GetValue(null);
            if (!_objectsMap.TryGetValue(graphName, out obj))
            {
                Utilities.OnShapeError(Utilities.GetCurrentMethod(), graphName);
                return;
            }

            try
            {
                Canvas _graph = (Canvas)obj;

                foreach (plotData _plotData in plotInfo)
                {
                    if (_plotData.name == graphName)
                    {
                        if (axis == 0)
                        {
                            _plotData.userMinX = min;
                            _plotData.userMaxX = max;
                            _plotData.userIntervalX = interval;
                        }
                        else if (axis == 1)
                        {
                            _plotData.userMinY = min;
                            _plotData.userMaxY = max;
                            _plotData.userIntervalY = interval;
                        }
                        delegate_Data = new object[] { _graph, _plotData, eZoom.FALSE, eRescale.TRUE };
                        FastThread.Invoke(plotSeries_Delegate);
                    }
                }
            }
            catch (Exception ex)
            {
                Utilities.OnError(Utilities.GetCurrentMethod(), ex);
            }
        }