Beispiel #1
0
        private void WprowadzZmianyWSieci(bool ModZbTrening = false, bool ModPoczSilyPrzes = false, bool ModPoczPromZmian = false, bool ModSpadkuProm = false, bool ModSpadkuSilyPrzes = false, bool Przebudowa = false)
        {
            // Czy przebudować całą sieć od nowa?
            if (Przebudowa)
            {
                if (s != null && canvas != null)
                {
                    s.Wymaz(canvas);
                }

                s = new Siec(xEl, yEl, canvas, Srodek(), deltaPozPocz, zbTreningowyPunkty, silaPrzesuniecia, promienZmian, spadekSilyPrzesuniecia, spadekPromienia);

                OdswiezWskazniki();
                return;
            }

            // Przygotowanie zmian
            if (ModZbTrening)
            {
                if (rysZbTrenCheckbox.IsChecked == true) // Rysunek zbioru
                {
                    RysZbTrenCheckbox_Unchecked(null, null);
                }

                switch (typZbioru)
                {
                case ZbiorTreningowyListItems.prostokat:
                    zbTreningowyRys    = ProstokatRys(xMargin, yMargin);
                    zbTreningowyPunkty = ZbiorTreningowy.Prostokat(canvas.Width, canvas.Height, xMargin, yMargin, WielkoscZbioruTreningowego(xEl, yEl));
                    break;

                case ZbiorTreningowyListItems.romb:
                    zbTreningowyRys    = RombRys(xMargin, yMargin);
                    zbTreningowyPunkty = ZbiorTreningowy.Romb(canvas.Width, canvas.Height, xMargin, yMargin, WielkoscZbioruTreningowego(xEl, yEl));
                    break;

                case ZbiorTreningowyListItems.elipsa:
                    zbTreningowyRys    = ElipsaRys(xMargin, yMargin);
                    zbTreningowyPunkty = ZbiorTreningowy.Elipsa(canvas.Width, canvas.Height, xMargin, yMargin, WielkoscZbioruTreningowego(xEl, yEl));
                    break;

                case ZbiorTreningowyListItems.trojkat:
                    zbTreningowyRys    = TrojkatRys(xMargin, yMargin);
                    zbTreningowyPunkty = ZbiorTreningowy.Trojkat(canvas.Width, canvas.Height, xMargin, yMargin, WielkoscZbioruTreningowego(xEl, yEl));
                    break;

                default:
                    break;
                }
            }

            // Wstrzymanie symulacji jeśli trwa
            bool poprzedniStanSymulacji = symulacjaTrwa;

            if (symulacjaTrwa)
            {
                ToggleSimulation(null, null);
            }

            // Wprowadzenie zmian
            if (ModZbTrening)
            {
                s.ZbiorTreningowy = zbTreningowyPunkty;

                if (rysZbTrenCheckbox.IsChecked == true) // Rysunek zbioru
                {
                    RysZbTrenCheckbox_Checked(null, null);
                }
            }

            if (ModPoczSilyPrzes)
            {
                s.PoczatkowaSilaPrzesuniecia = silaPrzesuniecia;
            }

            if (ModPoczPromZmian)
            {
                s.PoczatkowyPromienZmian = promienZmian;
            }

            if (ModSpadkuProm)
            {
                s.SpadekPromienia = spadekPromienia;
            }

            if (ModSpadkuSilyPrzes)
            {
                s.SpadekSilyPrzesuniecia = spadekSilyPrzesuniecia;
            }

            // Wznowienie symulacji jeśli wcześniej trwała
            if (poprzedniStanSymulacji == true)
            {
                ToggleSimulation(null, null);
            }

            OdswiezWskazniki();
        }
Beispiel #2
0
 public PunktSieci(double x, double y, int i, int j, Siec siec) : base(x, y)
 {
     this.i = i;
     this.j = j;
     s      = siec;
 }