Esempio n. 1
0
        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 { }
 }
Esempio n. 4
0
 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();
     }
 }
Esempio n. 5
0
        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);
                    }
                }
            }
        }
Esempio n. 6
0
 public ComboParcour(Parcour p)
 {
     this.p = p;
 }