예제 #1
0
 public void MaakStratenAan()
 {
     Console.WriteLine("Aanmaken van straten...");
     foreach (KeyValuePair <int, List <Segment> > data in alleSegmenten)
     {
         int    straatID = data.Key;
         Graaf  graaf    = new Graaf(straatID);
         Straat straat   = new Straat(straatID, straatGegevens[data.Key], graaf.BuildGraaf(straatID, data.Value));
         alleStraten.Add(straatID, straat);
     }
     Console.WriteLine("Aanmaken van straten... OK");
 }
예제 #2
0
        public Graaf BuildGraaf(int id, List <Segment> segment)
        {
            Graaf graaf = new Graaf(id);

            if (segment != null)
            {
                for (int i = 0; i < segment.Count; i++)
                {
                    //checken voor de beginknoop
                    //kijken of hij er al in zit, zo niet toevoegen
                    if (graaf.Map.Keys.AsEnumerable().Where(y => y.KnoopID == segment[i].BeginKnoop.KnoopID).Count() == 1)
                    {
                        //toevoegen bij een bestaande key
                        graaf.Map.Where(y => y.Key.KnoopID == segment[i].BeginKnoop.KnoopID).FirstOrDefault().Value.Add(segment[i]);
                    }
                    else
                    {
                        //nieuwe aanmaken
                        graaf.Map.Add(segment[i].BeginKnoop, new List <Segment>()
                        {
                            segment[i]
                        });
                    }


                    //checken voor de eindknoop
                    //kijken of hij er al in zit, zo niet toevoegen
                    if (graaf.Map.Keys.AsEnumerable().Where(y => y.KnoopID == segment[i].EindKnoop.KnoopID).Count() == 1)
                    {
                        //toevoegen bij een bestaande key
                        graaf.Map.Where(y => y.Key.KnoopID == segment[i].EindKnoop.KnoopID).FirstOrDefault().Value.Add(segment[i]);
                    }
                    else
                    {
                        //nieuwe aanmaken
                        graaf.Map.Add(segment[i].EindKnoop, new List <Segment>()
                        {
                            segment[i]
                        });
                    }
                }
            }
            return(graaf);
        }
예제 #3
0
 public Straat(int straatID, string straatNaam, Graaf graaf)
 {
     this.StraatID   = straatID;
     this.StraatNaam = straatNaam;
     this.Graaf      = graaf;
 }