private static void PolaczKomorkiIRogiZDwukrawedzi(Dwukrawedz dwukrawedz) { dwukrawedz.Lewa.DodajRogi(dwukrawedz.Pierwszy, dwukrawedz.Drugi); dwukrawedz.Prawa.DodajRogi(dwukrawedz.Pierwszy, dwukrawedz.Drugi); dwukrawedz.Pierwszy.DodajKomorki(dwukrawedz.Lewa, dwukrawedz.Prawa); dwukrawedz.Drugi.DodajKomorki(dwukrawedz.Lewa, dwukrawedz.Prawa); }
private void UtworzSkladoweDwukrawedzi(VoronoiEdge woro, Dwukrawedz dwukrawedz) { if (!_komorkiZVectorami.ContainsKey(woro.LeftData)) _komorkiZVectorami[woro.LeftData] = new Komorka(woro.LeftData) { Skrajna = woro.LeftData.Skrajny }; dwukrawedz.Lewa = _komorkiZVectorami[woro.LeftData]; if (!_komorkiZVectorami.ContainsKey(woro.RightData)) _komorkiZVectorami[woro.RightData] = new Komorka(woro.RightData) { Skrajna = woro.RightData.Skrajny }; dwukrawedz.Prawa = _komorkiZVectorami[woro.RightData]; if (!_rogiZVectorami.ContainsKey(woro.VVertexA)) _rogiZVectorami[woro.VVertexA] = new Rog(woro.VVertexA); dwukrawedz.Pierwszy = _rogiZVectorami[woro.VVertexA]; if (!_rogiZVectorami.ContainsKey(woro.VVertexB)) _rogiZVectorami[woro.VVertexB] = new Rog(woro.VVertexB); dwukrawedz.Drugi = _rogiZVectorami[woro.VVertexB]; }
private Dwukrawedz UtworzDwukrawedz(VoronoiEdge woro) { var dwukrawedz = new Dwukrawedz(); UtworzSkladoweDwukrawedzi(woro, dwukrawedz); PolaczKomorkiIRogiZDwukrawedzi(dwukrawedz); Mapa.Komorki = new HashSet<IKomorka>(_komorkiZVectorami.Values); Mapa.Rogi = new HashSet<IRog>(_rogiZVectorami.Values); return dwukrawedz; }