/// <inheritdoc/>
        protected internal override void UpdateMaxMin()
        {
            base.UpdateMaxMin();

            var minx = MinX;
            var miny = MinY;
            var maxx = MaxX;
            var maxy = MaxY;

            if (double.IsNaN(minx))
                minx = double.MaxValue;

            if (double.IsNaN(miny))
                miny = double.MaxValue;

            if (double.IsNaN(maxx))
                maxx = double.MinValue;

            if (double.IsNaN(maxy))
                maxy = double.MinValue;

            foreach (var data in sampleData)
            {
                var x = data.T;
                if (!XAxis?.IsValidValue(x) ?? true)
                    continue;

                if (x < minx)
                    minx = x;

                if (x > maxx)
                    maxx = x;

                for (var i = 0; i < 4; ++i)
                {
                    var y = data[i];
                    if (!YAxis?.IsValidValue(y) ?? true)
                        continue;

                    if (y < miny)
                        miny = y;

                    if (y > maxy)
                        maxy = y;
                }
            }

            if (minx < double.MaxValue)
                MinX = minx;

            if (miny < double.MaxValue)
                MinY = miny;

            if (maxx > double.MinValue)
                MaxX = maxx;

            if (maxy > double.MinValue)
                MaxY = maxy;
        }
Beispiel #2
0
 /// <summary>
 /// Determines whether the specified point is valid.
 /// </summary>
 /// <param name="x">The x coordinate.</param>
 /// <param name="y">The y coordinate.</param>
 /// <returns><c>true</c> if the point is valid; otherwise, <c>false</c> . </returns>
 protected bool IsValidPoint(double x, double y)
 {
     return((XAxis?.IsValidValue(x) ?? false) &&
            (YAxis?.IsValidValue(y) ?? false));
 }