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); }
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")); }
public CircuitMap GetHeatMap(string id) { var c = new CircuitsController(_circuitRepository).Get(id); return(c?.Map); }