示例#1
0
        public void Start_Stop_Calculations(bool index)
        {
            switch (index)
            {
            case true:
            {
                StartCalc();
                Calc();
                StartStop_button.Content = "Stop";

                start = false;
                break;
            }

            case false:
            {
                Helix.Children.Clear();
                Helix.Children.Add(light);
                Helix.InvalidateArrange();
                Helix.InvalidateVisual();
                StartStop_button.Content = "Start";
                start = true;
                break;
            }
            }
        }
示例#2
0
        void StartCulc(bool flag)
        {
            //client = new CulcServiceClient();
            Helix.Children.Clear();
            Helix.Children.Add(light);
            Helix.InvalidateArrange();
            Helix.InvalidateVisual();
            try
            {
                client = new CulcServiceClient();
            }
            catch
            {
                if (client == null)
                {
                    MessageBox.Show("Нет доспупа к сервису");
                    return;
                }
            }
            Pause_button.Content   = "Пауза";
            Pause_button.IsEnabled = true;
            time = 1;
            tau  = 0.1;
            h    = 1;
            u    = new double[n, n, n];
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    for (int k = 0; k < n; k++)
                    {
                        u[i, j, k] = Convert.ToDouble(TempPlan.Text);
                    }
                }
            }
            //натификатор
            //валидация

            for (int j = 0; j < n; j++)
            {
                for (int k = 0; k < n; k++)
                {
                    u[j, 0, k] = Convert.ToDouble(TeilTemp.Text);
                }
            }
            for (int j = 0; j < n; j++)
            {
                for (int k = 0; k < n; k++)
                {
                    u[j, k, 0] = Convert.ToDouble(BottomGran.Text);
                }
            }
            for (int j = 0; j < n; j++)
            {
                for (int k = 0; k < n; k++)
                {
                    u[0, j, k] = Convert.ToDouble(RightGran.Text);
                }
            }
            for (int j = 0; j < n; j++)
            {
                for (int k = 0; k < n; k++)
                {
                    u[n - 1, j, k] = Convert.ToDouble(LeftGran.Text);
                }
            }
            for (int j = 0; j < n; j++)
            {
                for (int k = 0; k < n; k++)
                {
                    u[k, j, n - 1] = Convert.ToDouble(TopGran.Text);
                }
            }
            for (int j = 0; j < n; j++)
            {
                for (int k = 0; k < n; k++)
                {
                    u[j, n - 1, k] = Convert.ToDouble(FrontTemp.Text);
                }
            }


            if (flag)
            {
                timer.Tick    += Timer_Tick;
                timer.Interval = new TimeSpan(0, 0, 5);
                timer.Start();
            }

            draw = new Draw(n);
            draw.StartDraw(Helix);
        }
示例#3
0
        //Начальная отрисовка
        void StartCalc()
        {
            Helix.Children.Clear();
            Helix.Children.Add(light);
            Helix.InvalidateArrange();
            Helix.InvalidateVisual();

            //Проверка доступности сервиса
            try {
                client = new CalcServiceClient();
            }
            catch {
                if (client == null)
                {
                    MessageBox.Show("Нет доспупа к сервису");
                    return;
                }
            }

            time = 1;
            tau  = 0.1;
            h    = 1;
            u    = new double[n, n, n];
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    for (int k = 0; k < n; k++)
                    {
                        u[i, j, k] = Convert.ToDouble(TempPlan.Text);
                    }
                }
            }

            //Считывание начальных границ
            for (int j = 0; j < n; j++)
            {
                for (int k = 0; k < n; k++)
                {
                    u[j, 0, k] = Convert.ToDouble(BackTemp.Text);
                }
            }
            for (int j = 0; j < n; j++)
            {
                for (int k = 0; k < n; k++)
                {
                    u[j, k, 0] = Convert.ToDouble(BottomGran.Text);
                }
            }
            for (int j = 0; j < n; j++)
            {
                for (int k = 0; k < n; k++)
                {
                    u[0, j, k] = Convert.ToDouble(RightGran.Text);
                }
            }
            for (int j = 0; j < n; j++)
            {
                for (int k = 0; k < n; k++)
                {
                    u[n - 1, j, k] = Convert.ToDouble(LeftGran.Text);
                }
            }
            for (int j = 0; j < n; j++)
            {
                for (int k = 0; k < n; k++)
                {
                    u[k, j, n - 1] = Convert.ToDouble(TopGran.Text);
                }
            }
            for (int j = 0; j < n; j++)
            {
                for (int k = 0; k < n; k++)
                {
                    u[j, n - 1, k] = Convert.ToDouble(FrontTemp.Text);
                }
            }

            timer.Tick    += Timer_Tick;
            timer.Interval = new TimeSpan(0, 0, 5);
            timer.Start();


            draw = new Draw(n);
            draw.StartDraw(Helix);
        }