private static PolygonPattern _ParsePattern(string ptsStr) { var pts = _ParsePoints(ptsStr); FixedPoint?maxY, minY; maxY = minY = null; for (var i = 0; i < pts.Length; i++) { var pt = pts[i]; if (maxY == null || pt.Y > maxY) { maxY = pt.Y; } if (minY == null || pt.Y < minY) { minY = pt.Y; } } var height = (int)(maxY.Value - minY.Value); var polygon = new PolygonPattern(pts, height); return(polygon); }
internal void Intersects(string line1, string line2, PolygonPattern.IntersectResult expected) { var l1 = _ParseLine(line1); var l2 = _ParseLine(line2); var val = PolygonPattern.Intersect(l1, l2, out var _, false); Assert.Equal(expected, val); }