public static ButtonController Instance()
 {
     if (instance == null)
     {
         instance = new ButtonController();
     }
     return instance;
 }
Пример #2
0
 private void btnCompleteInput_Click(object sender, EventArgs e)
 {
     pbDrawField.MouseClick -= _pointsInputManager.PointsInputHandler;
     ButtonController.Instance().CurrentState = ButtonState.StopEnteringPressed;
     ButtonController.Instance().changeButtonState(btnClear, btnCompleteInput, btnGetSingleContour, btnNetReculc, btnTriangulate, btnRenumerator, btnSolve);
 }
Пример #3
0
        private void btnNetReculc_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(textBox1.Text))
            {
                MessageBox.Show("Введите значение шага", "Ошибка");
            }
            else
            {
                int step;
                if (int.TryParse(textBox1.Text, out step))
                {
                    if (step < minStep)
                    {
                        MessageBox.Show("Вы ввели очень маленький шаг.\nШаг должен быть не меньше " + minStep);
                        return;
                    }

                    // Julia
                    int count = _singleContour.Count();
                    int min   = (int)Triangulation.BPoint.dist(_singleContour[count - 1], _singleContour[0]);
                    for (int i = 0; i < count - 1; i++)
                    {
                        int cur = (int)Triangulation.BPoint.dist(_singleContour[i], _singleContour[i + 1]);
                        if (cur < min)
                        {
                            min = cur;
                        }
                    }

                    if (min < minStep)
                    {
                        MessageBox.Show("Входные данные приведут к низкой эффективности получаемого результата. Для достижения достаточной эффективности введите контур, наименьшая сторона которого будет не меньше " +
                                        minStep);
                        return;
                    }

                    if (min < step)
                    {
                        step = min + 1;
                    }
                    // end Julia

                    _singleContour.RecalculateWithStep(step);
                    tabCtrlContours.TabPages.Clear();
                    _tabControlHelper.CreatePageForContour(_singleContour);
                    //Ekaterina
                    //_geometryDrawer.SetImageBuffer();
                    _geometryDrawer.FillBufferRectangle(Brushes.White, 0, 0, pbDrawField.Width, pbDrawField.Height);
                    //end Ekaterina
                    _geometryDrawer.DrawContours(Pens.Black, _singleContour);
                    //Evgeniya
                    ButtonController.Instance().CurrentState = ButtonState.RenumerationPressed;
                    ButtonController.Instance().changeButtonState(btnClear, btnCompleteInput, btnGetSingleContour, btnNetReculc, btnTriangulate, btnRenumerator, btnSolve);
                    //end Evgeniya
                }
                else
                {
                    MessageBox.Show("Неверный ввод. Шаг должен быть положительным целым числом", "Ошибка");
                }
            }
        }