private WierzcholekChodnika DodajLubZnajdzWierzcholek(Punkt <double> pozycja) { WierzcholekChodnika wierzcholek = WierzcholkiChodnikow.Find(obiekt => obiekt.Pozycja.Equals(pozycja)); if (wierzcholek == null) { WierzcholkiChodnikow.Add(wierzcholek = new WierzcholekChodnika(pozycja, TypWierzcholkaPieszych.ChodnikDrogi)); } return(wierzcholek); }
private void ProbujLaczycChodnik(Punkt <double> punkt, WierzcholekChodnika wierzcholek) { WierzcholekChodnika szukanyWierzcholek = WierzcholkiChodnikow.Find(o => o.Pozycja.Equals(punkt)); if (szukanyWierzcholek != null) { Chodniki.Add(KrawedzGrafu.StworzDroge(wierzcholek, szukanyWierzcholek)); } else { KrawedzGrafu szukanaKrawedz = SzukajDrogiPomiedzyPunktem(punkt); if (szukanaKrawedz != null) { szukanyWierzcholek = DzielTraseWPunkcie(szukanaKrawedz, punkt); Chodniki.Add(KrawedzGrafu.StworzDroge(szukanyWierzcholek, wierzcholek)); } } }