private List <Point> PrzydzielDoOdcinkaKwadraty(Odcinek o) { List <Point> Zwracana = new List <Point>(); Point Poczotek = new Point(Convert.ToInt32(o.PoczotekX / SzerokośćKratki), Convert.ToInt32(o.PoczotekY / WysokośćKratki)); Point Koniec = new Point(Convert.ToInt32(o.KoniecX / SzerokośćKratki), Convert.ToInt32(o.KoniecY / WysokośćKratki)); if (Poczotek == Koniec) { Zwracana.Add(Poczotek); return(Zwracana); } o.WyZnaczAB(); if (!o.WyznaczoneAB || Poczotek.X == Koniec.X) { PrzydzielajDoWartosciKwadraty(Poczotek.X, o.PoczotekY, o.KoniecY, Zwracana); return(Zwracana); } int IX = Poczotek.X + 1; float KoniecPoprzedniego = o.WartośćY((IX)*SzerokośćKratki); PrzydzielajDoWartosciKwadraty(Poczotek.X, o.PoczotekY, KoniecPoprzedniego, Zwracana); PrzydzielajDoWartosciKwadraty(Koniec.X, o.KoniecY, o.WartośćY(Koniec.X * SzerokośćKratki), Zwracana); while (IX < Koniec.X) { PrzydzielajDoWartosciKwadraty(IX++, KoniecPoprzedniego, KoniecPoprzedniego = o.WartośćY((IX)*SzerokośćKratki), Zwracana); } return(Zwracana); }
private void CreateTripRoute(Wycieczka newTrip, RouteResponse route) { var tripRoute = new Odcinek() { WycieczkaId = newTrip.Id }; if (route.IsCustomRoute()) { var start = route.Start.ToModel(); var end = route.End.ToModel(); var mountainGroup = _context.GrupaGorska.FirstOrDefault(m => m.Nazwa == route.MountainGroup); _context.Update(start); _context.Update(end); _context.SaveChanges(); OdcinekWłasny customRoute = new OdcinekWłasny() { Punkty = route.Points, PoczatekId = start.Id, KoniecId = end.Id, GrupaGorska = mountainGroup }; _context.OdcinekWłasny.Add(customRoute); _context.SaveChanges(); tripRoute.OdcinekWłasnyId = customRoute.Id; } else { tripRoute.OdcinekPunktowanyId = route.Id; } newTrip.Odcinek.Add(tripRoute); }
public bool KolizjaKwadratu(Odcinek o) { if (BezWielkości || Kolizja(o.Poczotek) || Kolizja(o.Koniec)) { return(true); } return(Krawedzie.Kolizja(o)); }
public static TripRouteResponse BuildFromModel(Odcinek route) { var response = new TripRouteResponse() { Id = route.Id, Route = route.OdcinekPunktowanyId != null?RouteResponse.BuildFromModel(route.OdcinekPunktowany) : RouteResponse.BuildFromModel(route.OdcinekWłasny), State = StateResponse.BuildFromModel(route.ZweryfikowanyNavigation) }; return(response); }
private void UżywanieKotrolekPoKwadracie(EventArgs EventDoListy, Vector2 MinZleć, Vector2 MaxZleć) { Odcinek o = new Odcinek(MinZleć.X, MaxZleć.X, MinZleć.Y, MaxZleć.Y); for (int i = 0; i < Lista.Count; i++) { if (!Lista[i].Ukryty && Lista[i].KolizjaKwadratu(o)) { if (Lista[i].UpDate(EventDoListy)) { break; } } } }
static void Main2() { Punkt a = new Punkt(1, 2); Punkt b = new Punkt(3, 4); Odcinek o = new Odcinek(a, b); Console.WriteLine(o); Console.WriteLine(o.DlugoscJakoFunkcja()); Console.WriteLine(o.Dlugosc); Odcinek o1 = new Odcinek(b, a); Console.WriteLine(o == o1); // false Console.WriteLine(o.Equals(o1)); // true, bo zdefiniowane Equals }