Example #1
0
        /// <summary>
        /// Конструктор формы, определяющий внешний вид формы
        /// и вызывающий метод, приводящий форму к дефолтному
        /// состоянию.
        /// </summary>
        /// <param name="homescreen"> Параметр для ссылки на
        /// предыдущую форму. </param>
        /// <param name="funcs"> Параметр для экземпляра класса
        /// функций матлаб. </param>
        public Input(Homescreen homescreen, MatlabFuncs.Funcs funcs)
        {
            this.funcs = funcs;
            prevForm   = homescreen;

            System.Globalization.CultureInfo.CurrentCulture
                = new System.Globalization.CultureInfo("en-US", false);

            this.BackColor = backColor;

            InitializeComponent();

            Begin();
        }
        /// <summary>
        /// Конструктор для формы с параметрами - параметрами симуляции.
        /// Задает внешний вид формы, значения полей, настраивает
        /// подсказки для пользователя.
        /// </summary>
        /// <param name="form"> Параметр для предыдущей формы. </param>
        /// <param name="homescreen"> Параметр для начального экрана. </param>
        /// <param name="funcs"> Параметр для экземпляра класса функций
        /// матлаб. </param>
        /// <param name="N"> Параметр для количества векторов, по которым
        /// составляются наблюдения. </param>
        /// <param name="Mu"> Параметр для размера решетки радиолокатора
        /// по длине. </param>
        /// <param name="Mv"> Параметр для размера решетки радиолокатора
        /// по ширине. </param>
        /// <param name="Um"> Параметр для ширины главного лепестка
        /// диаграммы направленности модуля по одному углу. </param>
        /// <param name="Vm"> Параметр для ширины главного лепестка
        /// диаграммы направленности модуля по другому углу. </param>
        /// <param name="du"> Параметр для сдвига до центра
        /// просматриваемого сектора по одному углу. </param>
        /// <param name="dv"> Параметр для сдвига до центра
        /// просматриваемого сектора по другому углу. </param>
        /// <param name="u"> Параметр для предполагаемого положения
        /// цели по одному углу. </param>
        /// <param name="v"> Параметр для предполагаемого положения
        /// цели по одному углу. </param>
        /// <param name="a"> Параметр для мощности сигнала. </param>
        /// <param name="Tc"> Параметр для времени начала прихода
        /// сигнала. </param>
        /// <param name="up1"> Параметр для первой компоненты
        /// положения помех по одному углу. </param>
        /// <param name="up2"> Параметр для второй компоненты
        /// положения помех по одному углу. </param>
        /// <param name="vp1"> Параметр для первой компоненты
        /// положения помех по другому углу. </param>
        /// <param name="vp2"> Параметр для второй компоненты
        /// положения помех по другому углу. </param>
        /// <param name="Ap1"> Параметр для первой компоненты
        /// мощности помех. </param>
        /// <param name="Ap2"> Параметр для второй компоненты
        /// мощности помех. </param>
        /// <param name="gamma"> Параметр гамма. </param>
        /// <param name="_mu"> Параметр для коэффициента
        /// регуляризации корреляционной матрицы. </param>
        /// <param name="H"> Параметр для порогового значения
        /// мощности сигнала. </param>
        /// <param name="pq"> Параметр для количества блоков,
        /// по которым составляется корреляционная матрица. </param>
        public Operations(Input form, Homescreen homescreen,
                          Funcs funcs, int N, int Mu, int Mv,
                          float Um, float Vm, float du, float dv, float u, float v,
                          float a, float Tc, float up1, float up2, float vp1, float vp2,
                          float Ap1, float Ap2, float gamma, float _mu, float H, int pq)
        {
            this.Mu         = Mu;
            this.Mv         = Mv;
            this.Um         = Um;
            this.Vm         = Vm;
            this.u          = u;
            this.v          = v;
            this.du         = du;
            this.dv         = dv;
            this.a          = a;
            this.Tc         = Tc;
            this.up1        = up1;
            this.up2        = up2;
            this.vp1        = vp1;
            this.vp2        = vp2;
            this.Ap1        = Ap1;
            this.Ap2        = Ap2;
            this.H          = H;
            this._mu        = _mu;
            this.pq         = pq;
            this.N          = N;
            this.gamma      = gamma;
            this.funcs      = funcs;
            prevForm        = form;
            this.homescreen = homescreen;
            M = Mu * Mv;

            InitializeComponent();

            log.Text = "Параметры симуляции определены";

            dataE = matrixE = statE = bSaveData.Enabled
                                          = bGenMatrix.Enabled = bSaveMatrix.Enabled
                                                                     = bGenStat.Enabled = bSaveStat.Enabled
                                                                                              = bVisualize.Enabled = sliderH.Enabled =
                                                                                                    min.Visible = max.Visible = label1.Visible = false;

            this.BackColor    = log.BackColor = backColor;
            panel.BackColor   = sliderH.BackColor =
                min.BackColor = max.BackColor = panelColor;
            log.ForeColor     = min.ForeColor = max.ForeColor
                                                    = label1.ForeColor = textColor;

            foreach (Button b in GetAllControlsOfType <Button>(this))
            {
                b.FlatAppearance.MouseOverBackColor = hoverColor;
                b.ForeColor = textColor;
            }

            bVisualize.Text = $"Порог сигнала = {H}\nВизуализировать статистику наблюдений";

            toolTip.SetToolTip(bBackToHomepage, "Внимание!" +
                               "\nПри возвращении прогресс текущей сессии будет потерян." +
                               "\nУбедитесь в том, что вы сохранили все файлы," +
                               "\nкоторые не хотите потерять.");
            toolTip.SetToolTip(bBackToInput, "Внимание!" +
                               "\nПри возвращении прогресс текущей сессии," +
                               "\nкроме параметров симуляции, будет потерян." +
                               "\nУбедитесь в том, что вы сохранили все файлы," +
                               "\nкоторые не хотите потерять.");
        }