コード例 #1
0
        public void displaySagTable(Asphere lens, double start, double end, double step)
        {
            double x = start;

            thisLens = lens;
            do
            {
                TextBox newTextBox1 = new TextBox()
                {
                    Width = 50, Height = 25
                };
                TextBox newTextBox2 = new TextBox()
                {
                    Width = 100, Height = 25
                };
                StackPanel newStackPanel = new StackPanel()
                {
                    Orientation = Orientation.Horizontal, Name = "stackPanel" + sagBoxNumber.ToString()
                };

                newTextBox1.Text = x.ToString();
                newTextBox2.Text = (lens.getSag(x)).ToString();
                newStackPanel.Children.Add(newTextBox1);
                newStackPanel.Children.Add(newTextBox2);
                sagTableStackPanel.Children.Add(newStackPanel);
                x += step;
            } while (x <= end);

            this.displayLastRow();
        }
コード例 #2
0
        private void btnCalculate_Click(object sender, RoutedEventArgs e)
        {
            Asphere lens;

            double[] A       = new double[21];
            TextBox  textBox = new TextBox();

            //initialize values that are never used
            A[0] = 0;

            //get array of terms

            /*for (int i=1; i<=20; i++)
             * {
             *  textBox.Name = "txtA" + i;
             *  value = textBox.Text;
             *  if (value == "")
             *  {
             *      A[i] = 0;
             *  }
             *  else
             *  {
             *      A[i] = double.Parse(value);
             *  }
             * }*/
            if (radEven.IsChecked == true)
            {
                A[1]  = 0;
                A[3]  = 0;
                A[5]  = 0;
                A[7]  = 0;
                A[9]  = 0;
                A[11] = 0;
                A[13] = 0;
                A[15] = 0;
                A[17] = 0;
                A[19] = 0;
            }
            else
            {
                A[1]  = double.Parse(txtA1.Text);
                A[3]  = double.Parse(txtA3.Text);
                A[5]  = double.Parse(txtA5.Text);
                A[7]  = double.Parse(txtA7.Text);
                A[9]  = double.Parse(txtA9.Text);
                A[11] = double.Parse(txtA11.Text);
                A[13] = double.Parse(txtA13.Text);
                A[15] = double.Parse(txtA15.Text);
                A[17] = double.Parse(txtA17.Text);
                A[19] = double.Parse(txtA19.Text);
            }

            A[2]  = double.Parse(txtA2.Text);
            A[4]  = double.Parse(txtA4.Text);
            A[6]  = double.Parse(txtA6.Text);
            A[8]  = double.Parse(txtA8.Text);
            A[10] = double.Parse(txtA10.Text);
            A[12] = double.Parse(txtA12.Text);
            A[14] = double.Parse(txtA14.Text);
            A[16] = double.Parse(txtA16.Text);
            A[18] = double.Parse(txtA18.Text);
            A[20] = double.Parse(txtA20.Text);

            lens = new Asphere(double.Parse(txtRadius.Text), double.Parse(txtConic.Text), A, double.Parse(txtDiameter.Text));

            ResultWindow results = new ResultWindow();

            results.Show();

            results.setToolRadius(lens.MaxTool);
            results.setBFS(lens.BFS);
            results.displaySagTable(lens, double.Parse(startValue.Text), double.Parse(endValue.Text), double.Parse(stepValue.Text));
        }