Пример #1
0
        private IDictionary <string, int> Heat(string id)
        {
            var circuit = new CircuitsController(_circuitRepository).Get(id);

            var heat = new Dictionary <string, int>();

            circuit.Map.OffTrack.ForEach(o =>
            {
                heat[buildKey(o.x, o.y)] = 0;
            });
            circuit.Map.OnTrack.ForEach(o =>
            {
                heat[buildKey(o.x, o.y)] = 1;
            });

            return(heat);
        }
Пример #2
0
        public FileContentResult Svg(string id, int scale = 1)
        {
            string path = "";
            var    c    = new CircuitsController(_circuitRepository).Get(id);

            if (c != null)
            {
                path = "M" + string.Join(" L", c.Map.CheckPoints.Select(p => $"{p.x * scale},{p.y * scale}")) + " z";
            }

            var data = $@"<?xml version=""1.0"" encoding=""UTF-8"" standalone=""no""?>
<!DOCTYPE svg PUBLIC ""-//W3C//DTD SVG 1.1//EN"" ""http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"">
<svg xmlns=""http://www.w3.org/2000/svg"" width=""{150 * scale}px"" height=""{100 * scale}px"" viewBox=""0 0 {150 * scale} {100 * scale}"" preserveAspectRatio=""xMidYMid meet"">
    <title>Circuit</title>
    <g id=""main"">
        <path stroke=""#666666"" stroke-linecap=""round"" stroke-linejoin=""round"" stroke-width=""{20 * scale}"" fill=""transparent"" d=""{path}"" />
        <path stroke=""#cccccc"" stroke-linecap=""round"" stroke-linejoin=""round"" stroke-width=""{15 * scale}"" fill=""transparent"" d=""{path}"" />
    </g>
</svg>";

            return(new FileContentResult(System.Text.Encoding.UTF8.GetBytes(data), "image/svg+xml"));
        }
Пример #3
0
        public CircuitMap GetHeatMap(string id)
        {
            var c = new CircuitsController(_circuitRepository).Get(id);

            return(c?.Map);
        }