Example #1
0
        private void OpenTButton_Click(object sender, EventArgs e)
        {
            if (openTFileDialog.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }

            ResetPivotPoints();
            ResetTriangulation();
            ResetShading();

            TExtension.Open(pivotPoints, openTFileDialog.FileName);
            SimpleIterativeTriangulation.Run(pivotPoints, triangulationSectionsList, trianglesHashSet);
            VerticesAverageBrightnessShader.Run(rebuiltImageBitmap, trianglesHashSet);
            rebuiltImagePictureBox.Image = rebuiltImageBitmap;

            // Выставляем элементы формы
            showHideImageGroupBox.Enabled         = false;
            showHidePPointsGroupBox.Enabled       = false;
            showHideGridGroupBox.Enabled          = false;
            pPointsControlsGroupBox.Enabled       = false;
            triangulationControlsGroupBox.Enabled = false;
            shadingControlsGroupBox.Enabled       = false;
            label8.Text  = "";
            label9.Text  = "";
            label10.Text = "";
            label13.Text = pivotPoints.Count.ToString();
            label14.Text = trianglesHashSet.Count.ToString();
            standartDeviationLabel.Text   = "";
            saveInPngButton.Enabled       = true;
            saveInTButton.Enabled         = false;
            originalImagePictureBox.Image = null;
        }
Example #2
0
        private void RunTriangulation_Click(object sender, EventArgs e)
        {
            switch (triangulationsComboBox.SelectedIndex)
            {
            case 0:
                return;

            case 1:
                ResetShading();
                ResetTriangulation();

                sw = Stopwatch.StartNew();
                SimpleIterativeTriangulation.Run(pivotPoints, triangulationSectionsList, trianglesHashSet);
                sw.Stop();
                label9.Text = sw.ElapsedMilliseconds.ToString();
                DrawOperations.SectionsToBitmap(triangulationSectionsList, triangulationGridBitmap);
                triangulationGridPictureBox.Image = triangulationGridBitmap;

                // Выставляем элементы формы
                showHideImageGroupBox.Enabled   = true;
                showHidePPointsGroupBox.Enabled = true;
                showHideGridGroupBox.Enabled    = true;
                pPointsControlsGroupBox.Enabled = true;
                shadingControlsGroupBox.Enabled = true;
                showGrid.Checked            = true;
                label10.Text                = "";
                label14.Text                = trianglesHashSet.Count.ToString();
                standartDeviationLabel.Text = "";
                saveInPngButton.Enabled     = false;
                saveInTButton.Enabled       = true;
                return;

            case 2:
                ResetShading();
                ResetTriangulation();

                coefOfCacheExpand = float.Parse(coefOfCacheExpandTextBox.Text, System.Globalization.CultureInfo.InvariantCulture);
                sw = Stopwatch.StartNew();
                DCIterativeTriangulation.Run(pivotPoints, triangulationSectionsList, trianglesHashSet, coefOfCacheExpand);
                sw.Stop();
                label9.Text = sw.ElapsedMilliseconds.ToString();
                DrawOperations.SectionsToBitmap(triangulationSectionsList, triangulationGridBitmap);
                triangulationGridPictureBox.Image = triangulationGridBitmap;

                // Выставляем элементы формы
                showHideImageGroupBox.Enabled   = true;
                showHidePPointsGroupBox.Enabled = true;
                showHideGridGroupBox.Enabled    = true;
                pPointsControlsGroupBox.Enabled = true;
                shadingControlsGroupBox.Enabled = true;
                showGrid.Checked            = true;
                label10.Text                = "";
                label14.Text                = trianglesHashSet.Count.ToString();
                standartDeviationLabel.Text = "";
                saveInPngButton.Enabled     = false;
                saveInTButton.Enabled       = true;
                return;

            case 3:
                ResetShading();
                ResetTriangulation();

                stripingFactor = float.Parse(stripingFactorTextBox.Text, System.Globalization.CultureInfo.InvariantCulture);
                sw             = Stopwatch.StartNew();
                StripIterativeTriangulation.Run(pivotPoints, triangulationSectionsList, trianglesHashSet, stripingFactor);
                sw.Stop();
                label9.Text = sw.ElapsedMilliseconds.ToString();
                DrawOperations.SectionsToBitmap(triangulationSectionsList, triangulationGridBitmap);
                triangulationGridPictureBox.Image = triangulationGridBitmap;

                // Выставляем элементы формы
                showHideImageGroupBox.Enabled   = true;
                showHidePPointsGroupBox.Enabled = true;
                showHideGridGroupBox.Enabled    = true;
                pPointsControlsGroupBox.Enabled = true;
                shadingControlsGroupBox.Enabled = true;
                showGrid.Checked            = true;
                label10.Text                = "";
                label14.Text                = trianglesHashSet.Count.ToString();
                standartDeviationLabel.Text = "";
                saveInPngButton.Enabled     = false;
                saveInTButton.Enabled       = true;
                return;
            }
        }