public static void createParcour(Dictionary <string, List <int> > parcour, Context ctx) { Parcour p1 = new Parcour(); ctx.Parcours.Add(p1); foreach (string setName in parcour.Keys) { Set s = new Set() { Name = setName }; s.Parcour = p1; int cpt = 1; foreach (int figureId in parcour[setName]) { ctx.FiguresInSet.Add(new FigureInSet() { Figure = ctx.Figures.Find(figureId), Set = s, Order = cpt }); cpt++; } ctx.Sets.Add(s); } ctx.SaveChanges(); }
private string GetPolygonKml(Parcour parcour) { String result = ""; result += GetKMLTemplateContent("headerPolygon"); int i = 0; foreach (Line n in parcour.Line.Where(p => p.Type == (int)LineType.PENALTYZONE)) { // note: conversion to invariant format required (KML has always dot as decimal separator) result += @"<Placemark><name>Polygon" + i++ + @"</name><styleUrl>#sn_ylw-pushpin</styleUrl><Polygon><extrude>1</extrude><altitudeMode>relativeToGround</altitudeMode><outerBoundaryIs><LinearRing><coordinates>"; result += n.A.longitude.ToString(ci) + "," + n.A.latitude.ToString(ci) + "," + HeightPenalty + " "; result += n.O.longitude.ToString(ci) + "," + n.O.latitude.ToString(ci) + "," + HeightPenalty + " "; result += n.B.longitude.ToString(ci) + "," + n.B.latitude.ToString(ci) + "," + HeightPenalty + " "; result += n.A.longitude.ToString(ci) + "," + n.A.latitude.ToString(ci) + "," + HeightPenalty + " "; result += @"</coordinates></LinearRing></outerBoundaryIs></Polygon></Placemark>"; } foreach (Line n in parcour.Line.Where(p => p.Type >= 3 && p.Type <= 10)) { // note: conversion to invariant format required (KML has always dot as decimal separator) result += @"<Placemark><name>Polygon" + i++ + @"</name><styleUrl>#sn_ylw-pushpin</styleUrl><Polygon><extrude>1</extrude><altitudeMode>relativeToGround</altitudeMode><outerBoundaryIs><LinearRing><coordinates>"; result += n.B.longitude.ToString(ci) + "," + n.B.latitude.ToString(ci) + "," + HeightPenalty + " "; result += n.A.longitude.ToString(ci) + "," + n.A.latitude.ToString(ci) + "," + HeightPenalty + " "; result += n.B.longitude.ToString(ci) + "," + n.B.latitude.ToString(ci) + "," + HeightPenalty + " "; result += @"</coordinates></LinearRing></outerBoundaryIs></Polygon></Placemark>"; } result += GetKMLTemplateContent("footerPolygon"); return(result); }
public void SetParcour(Parcour parcour) { try { if (Container != null) { Container.replaceChild(plugin.parseKml(GetPolygonKml(parcour)), Container.getLastChild()); dynamic lookAt = plugin.createLookAt(""); lookAt.set(averageLatitude(parcour.Line), averageLongitude(parcour.Line), 15000, plugin.ALTITUDE_RELATIVE_TO_GROUND, 0, 0, 10000); plugin.getView().setAbstractView(lookAt); } } catch { } }
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { competition = null; if (comboBoxCompetition.SelectedItem != null) { CompetitionComboEntry cce = comboBoxCompetition.SelectedItem as CompetitionComboEntry; if (cce != null) { competition = cce.comp; listViewFlights.Items.Clear(); long min = long.MaxValue; long max = long.MinValue; List<Flight> CompetitionTeamList = competition.Flight.ToList(); CompetitionTeamList.Sort((p, q) => p.StartID.CompareTo(q.StartID)); List<Point> points = new List<Point>(); foreach (Flight ct in competition.Flight) { ComboBoxFlights lvi2 = new ComboBoxFlights(ct, new string[] { ct.StartID.ToString(), "0", getTeamDsc(ct), new DateTime(ct.TimeTakeOff).ToShortTimeString(), new DateTime(ct.TimeStartLine).ToShortTimeString(), new DateTime(ct.TimeEndLine).ToShortTimeString(), getRouteText(ct.Route) }); lvi2.Tag = ct; listViewFlights.Items.Add(lvi2); points.AddRange(ct.Point); min = Math.Min(ct.TimeTakeOff, min); max = Math.Max(ct.TimeEndLine, max); } listViewFlights.Enabled = true; parcour = cce.comp.Parcour; Map map = parcour.Map; MemoryStream ms = new MemoryStream(map.Picture.Data); visualisationPictureBox1.Image = System.Drawing.Image.FromStream(ms); visualisationPictureBox1.SetConverter(new Converter(map)); visualisationPictureBox1.SetParcour(parcour); visualisationPictureBox1.Invalidate(); visualisationPictureBox1.Refresh(); updatePoints(); } else { listViewFlights.Enabled = false; listViewFlights.Items.Clear(); listViewPenalty.Items.Clear(); } } else { listViewFlights.Enabled = false; listViewFlights.Items.Clear(); listViewPenalty.Items.Clear(); } }
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { if (comboBox1.SelectedItem != null) { CompetitionComboEntry cce = comboBox1.SelectedItem as CompetitionComboEntry; if (cce != null) { comp = cce.comp; parcour = comp.Parcour; Map map = parcour.Map; MemoryStream ms = new MemoryStream(map.Picture.Data); visualisationPictureBox1.Image = System.Drawing.Image.FromStream(ms); visualisationPictureBox1.SetConverter(new Converter(map)); visualisationPictureBox1.SetParcour(parcour); visualisationPictureBox1.Invalidate(); visualisationPictureBox1.Refresh(); controll.SetParcour(parcour); listViewCompetitionTeam.Items.Clear(); List<Flight> CompetitionTeamList = comp.Flight.ToList(); CompetitionTeamList.Sort((p, q) => p.StartID.CompareTo(q.StartID)); foreach (Flight ct in CompetitionTeamList) { ListViewItem lvi2 = new ListViewItem(new string[] { ct.StartID.ToString(),getTeamDsc(ct.Team), new DateTime(ct.TimeTakeOff).ToShortTimeString(), new DateTime(ct.TimeStartLine).ToShortTimeString(), new DateTime(ct.TimeEndLine).ToShortTimeString(), getRouteText(ct.Route) }); lvi2.Tag = ct; listViewCompetitionTeam.Items.Add(lvi2); } } } }
public ComboParcour(Parcour p) { this.p = p; }