Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        public bool KolizjaKwadratu(Odcinek o)
        {
            if (BezWielkości || Kolizja(o.Poczotek) || Kolizja(o.Koniec))
            {
                return(true);
            }

            return(Krawedzie.Kolizja(o));
        }
Example #4
0
        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);
        }
Example #5
0
        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;
                    }
                }
            }
        }
Example #6
0
        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
        }