/// <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; }
/// <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)); }