public void Dodaj(ObiektKolizji dodawany, out List <ObiektKolizji> Blokujące) { IndexZmiany++; Komputer.Matematyczne.Graf.Krawedz o = dodawany.Szkielet as Komputer.Matematyczne.Graf.Krawedz; if (o != null) { } List <List <ObiektKolizji> > KwadratyDoKtórychNależy; if (dodawany == null) { Blokujące = null; return; } if (dodawany.Szkielet != null) { dodawany.PrzesóńOMiejsce(); Blokujące = ZnajdźWsztstkieKolidujące(dodawany, out KwadratyDoKtórychNależy); foreach (List <ObiektKolizji> item in KwadratyDoKtórychNależy) { item.Add(dodawany); } } else { Blokujące = null; Point MiejsceDodania = PrzydzielPunkt(dodawany.Miejsce); Mapa[MiejsceDodania.X, MiejsceDodania.Y].Add(dodawany); } }
public void Usuń(ObiektKolizji ok) { foreach (List <ObiektKolizji> item in Mapa) { item.Remove(ok); } }
private List <Point> PrzydzielDoSzkieletuKwadraty(ObiektKolizji o) { List <Point> PunktyTabel = new List <Point>(); foreach (Odcinek item in o.Szkielet) { item.UstawPoczotek(); PunktyTabel.DodajNiePowtarzające(PrzydzielDoOdcinkaKwadraty(item)); } return(PunktyTabel); }
/// <summary> /// z szkieletem /// </summary> /// <param name="d"></param> /// <param name="Kwadraty"></param> /// <returns></returns> public List <ObiektKolizji> ZnajdźWsztstkieKolidujące(ObiektKolizji d, out List <List <ObiektKolizji> > Kwadraty) { d.PrzesóńOMiejsce(); List <ObiektKolizji> zwracane = new List <ObiektKolizji>(); Kwadraty = PrzydzielDoSzkieletuKwadratyObj(d); foreach (ObiektKolizji item in Kwadraty.ZwracajPodwójnąListe()) { if (item.wrażliwośćKolizji.Kolizja(d) && d.Szkielet != null && item.Szkielet != null && d.Szkielet.Kolizja(item.Szkielet)) { zwracane.Add(item); } } return(zwracane); }
public void Usuń(ObiektKolizji ok, Point p) { IndexZmiany++; Mapa[p.X, p.Y].Remove(ok); }
private List <List <ObiektKolizji> > PrzydzielDoSzkieletuKwadratyObj(ObiektKolizji o) { return(Mapa.WybierzWybraneElementy(PrzydzielDoSzkieletuKwadraty(o))); }
public List <ObiektKolizji> ZnajdźWsztstkieKolidujące(ObiektKolizji d) { List <List <ObiektKolizji> > las; return(ZnajdźWsztstkieKolidujące(d, out las)); }
public void Dodaj(ObiektKolizji dodawany) { List <ObiektKolizji> o; Dodaj(dodawany, out o); }