Instance() публичный статический Метод

public static Instance ( ) : ButtonController
Результат ButtonController
Пример #1
0
        //end Evgenij

        public FormMain()
        {
            InitializeComponent();
            SetUp();
            //Evgeniya
            ButtonController.Instance().CurrentState = ButtonState.CleanPressed;
            ButtonController.Instance().changeButtonState(btnClear, btnCompleteInput, btnGetSingleContour, btnNetReculc, btnTriangulate, btnRenumerator, btnSolve);
            //end Evgeniya
        }
Пример #2
0
        // end Julia

        //Evgeniya
        private void btnRenumerator_Click(object sender, EventArgs e)
        {
            Renumerator.DoRenumeration(_triangleList);
            //just for visualization
            //Ekaterina
            // _geometryDrawer.SetImageBuffer();
            _geometryDrawer.FillBufferRectangle(Brushes.White, 0, 0, pbDrawField.Width, pbDrawField.Height);
            //end Ekaterina
            _geometryDrawer.DrawTriangles(Pens.Black, _triangleList.ToArray());
            ButtonController.Instance().CurrentState = ButtonState.KathMaccPressed;
            ButtonController.Instance().changeButtonState(btnClear, btnCompleteInput, btnGetSingleContour, btnNetReculc, btnTriangulate, btnRenumerator, btnSolve);
        }
Пример #3
0
 private void btnClear_Click(object sender, EventArgs e)
 {
     //Ekaterina
     //_geometryDrawer.SetImageBuffer();
     _geometryDrawer.FillBufferRectangle(Brushes.White, 0, 0, pbDrawField.Width, pbDrawField.Height);
     _geometryDrawer.RefreshImage();
     //end Ekaterina
     _pointsInputManager.Reset();
     tabCtrlContours.TabPages.Clear();
     pbDrawField.MouseClick -= _pointsInputManager.PointsInputHandler;
     pbDrawField.MouseClick += _pointsInputManager.PointsInputHandler;
     //Evgeniya
     ButtonController.Instance().CurrentState = ButtonState.CleanPressed;
     ButtonController.Instance().changeButtonState(btnClear, btnCompleteInput, btnGetSingleContour, btnNetReculc, btnTriangulate, btnRenumerator, btnSolve);
     //end Evgeniya
 }
Пример #4
0
        // Julia
        private void btnTriangulate_Click(object sender, EventArgs e)
        {
            //Evgenij
            _contourPoints = new Contour(_singleContour.Index);
            _contourPoints.AddRange(_singleContour);
            //end Evgenij

            Triangulator triangulator = new Triangulator();

            _triangleList = (triangulator.Triangulate(_singleContour)) as List <Triangle>;
            tabCtrlContours.TabPages.Clear();
            _tabControlHelper.CreatePageForContour(_singleContour);
            _geometryDrawer.DrawTriangles(Pens.Black, _triangleList.ToArray());
            //Evgeniya
            ButtonController.Instance().CurrentState = ButtonState.TriangulationPressed;
            ButtonController.Instance().changeButtonState(btnClear, btnCompleteInput, btnGetSingleContour, btnNetReculc, btnTriangulate, btnRenumerator, btnSolve);
            //end Evgeniya
        }
Пример #5
0
        //end Evgeniya

        //Evgenij
        private void btnSolve_Click(object sender, EventArgs e)
        {
            initSystem();
            SystemMaker.MakeSystem(ref _triangleList, ref _contourPoints, ref matrix_system, ref vector_system);
            solution = Cholesky.CholeskySolver.Solve(matrix_system, vector_system);

            //Ekaterina
            _geometryDrawer.FillTriangles(_triangleList, solution);
            _geometryDrawer.DrawTriangles(Pens.Black, _triangleList.ToArray());
            //end Ekaterina

            for (int i = 0; i < solution.Length; ++i)
            {
                _singleContour.Where(x => x.Index == i + 1).First().T = solution[i];
            }
            tabCtrlContours.TabPages.Clear();
            _tabControlHelper.CreatePageForContour(_singleContour);

            //Evgeniya
            ButtonController.Instance().CurrentState = ButtonState.SolvePressed;
            ButtonController.Instance().changeButtonState(btnClear, btnCompleteInput, btnGetSingleContour, btnNetReculc, btnTriangulate, btnRenumerator, btnSolve);
            //end Evgeniya
        }
Пример #6
0
        private void btnGetSingleContour_Click(object sender, EventArgs e)
        {
            try
            {
                //_pointsInputManager.SetUpTestCase();
                _singleContour = _pointsInputManager.GetSingleContour();
                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.MakeSinglePressed;
                ButtonController.Instance().changeButtonState(btnClear, btnCompleteInput, btnGetSingleContour, btnNetReculc, btnTriangulate, btnRenumerator, btnSolve);
                //end Evgeniya
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Ошибка");
            }
        }
Пример #7
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);
 }
Пример #8
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("Неверный ввод. Шаг должен быть положительным целым числом", "Ошибка");
                }
            }
        }