Exemplo n.º 1
0
        public GridCoordinatePair NearestPoint(int x, int y)
        {
            var xDistance = XInterval.Distance(x);
            var yDistance = YInterval.Distance(y);

            if (xDistance == 0 && yDistance == 0)
            {
                return(new GridCoordinatePair(x, y));
            }

            if (xDistance == 0)
            {
                return(new GridCoordinatePair(x, yDistance < 0 ? MinY : MaxY));
            }

            if (yDistance == 0)
            {
                return(new GridCoordinatePair(xDistance < 0 ? MinX : MaxX, y));
            }

            return(new GridCoordinatePair(xDistance < 0 ? MinX : MaxX, yDistance < 0 ? MinY : MaxY));
        }